我想知道是否可以在 Go 中动态创建变量?我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中:func method() { slice := make([]type) for(i=0;i<10;i++) { var variable+i=i; slice := append(slice, variablei) }}在循环结束时,切片应包含变量:variable1、variable2...variable9
2 回答
达令说
TA贡献1821条经验 获得超6个赞
不; 如果在编译时不知道局部变量的名称,则不能引用它们。
如果您需要额外的间接寻址,您可以使用指针来代替。
func function() {
slice := []*int{}
for i := 0; i < 10; i++ {
variable := i
slice = append(slice, &variable)
}
// slice now contains ten pointers to integers
}
还要注意 for 循环中的括号应该被省略,将左大括号放在新行上是一个语法错误,因为在++. make切片需要您传递一个长度,因此我不使用它,因为append无论如何都会使用它。
- 2 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消