第一个版本对我来说更好,YMMV。
进行基准测试。取决于编译器的优化能力。如果编译器没有尽力进行优化,则“跳转表”版本可能会更快。
取决于您对“内联声明函数”的定义。Go只能在顶层声明和定义函数/方法。但是函数是Go中的一等公民,因此可以具有变量/参数/返回值和函数类型的结构化类型。在所有这些地方,也可以将函数文字分配给变量/字段/元素…
可能吧 我仍然建议不要将cpu状态保持在全局变量中。一旦您可能决定去仿真多核,它将是受欢迎的;-)

第一个版本对我来说更好,YMMV。
进行基准测试。取决于编译器的优化能力。如果编译器没有尽力进行优化,则“跳转表”版本可能会更快。
取决于您对“内联声明函数”的定义。Go只能在顶层声明和定义函数/方法。但是函数是Go中的一等公民,因此可以具有变量/参数/返回值和函数类型的结构化类型。在所有这些地方,也可以将函数文字分配给变量/字段/元素…
可能吧 我仍然建议不要将cpu状态保持在全局变量中。一旦您可能决定去仿真多核,它将是受欢迎的;-)