我想知道是否可以在Go中动态创建变量?
我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中:
func method() { slice := make([]type) for(i=0;i<10;i++) { var variable+i=i; slice := append(slice, variablei) } }
在循环的最后,切片应包含变量:variable1,variable2 … variable9
Go没有动态变量。大多数语言中的动态变量都实现为Map(哈希表)。
因此,您可以在代码中包含以下地图之一,该地图可以完成您想要的操作
var m1 map[string]int var m2 map[string]string var m3 map[string]interface{}
这是执行您的操作的Go代码
http://play.golang.org/p/d4aKTi1OB0
package main import "fmt" func method() []int { var slice []int for i := 0; i < 10; i++ { m1 := map[string]int{} key := fmt.Sprintf("variable%d", i) m1[key] = i slice = append(slice, m1[key]) } return slice } func main() { fmt.Println(method()) }