为了账号安全,请及时绑定邮箱和手机立即绑定

是否支持动态变量?

是否支持动态变量?

Go
宝慕林4294392 2021-07-13 17:14:56
我想知道是否可以在 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无论如何都会使用它。


查看完整回答
反对 回复 2021-07-19
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信