猿问

是否支持动态变量?

我想知道是否可以在 Go 中动态创建变量?


我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中:


func method() {

  slice := make([]type)

  for(i=0;i<10;i++)

  {

    var variable+i=i;

    slice := append(slice, variablei)

  }

}

在循环结束时,切片应包含变量:variable1、variable2...variable9


宝慕林4294392
浏览 197回答 2
2回答

达令说

不; 如果在编译时不知道局部变量的名称,则不能引用它们。如果您需要额外的间接寻址,您可以使用指针来代替。func function() {&nbsp; &nbsp; slice := []*int{}&nbsp; &nbsp; for i := 0; i < 10; i++ {&nbsp; &nbsp; &nbsp; &nbsp; variable := i&nbsp; &nbsp; &nbsp; &nbsp; slice = append(slice, &variable)&nbsp; &nbsp; }&nbsp; &nbsp; // slice now contains ten pointers to integers}还要注意 for 循环中的括号应该被省略,将左大括号放在新行上是一个语法错误,因为在++. make切片需要您传递一个长度,因此我不使用它,因为append无论如何都会使用它。
随时随地看视频慕课网APP

相关分类

Go
我要回答