loops - 循环中的动态变量

标签 loops go variables

我试图弄清楚循环遍历 slice 时最好的方法是处理变量。

我有以下代码:

type Server struct {
    Name string
    Features []string
}


func main() {


    var server1 Server

    server1.Name = "server-abc-1"
    server1.Features = append(server1.Features, "feature1", "feature2", "feature3" )

    subMenuServer1 := systray.AddMenuItem(server1.Name, "Server Menu")

    //Manually adding a menu item
    subMenuFeatureItem1 := subMenuServer1.AddSubMenuItem("feature1", "feature1 description")

    //Creating menu items from looping through slice - Not working
    for i, s := range server1.Features {
        dynamicVariable := subMenuServer1.AddSubMenuItem(s, "test")

    }
}

如何遍历功能片动态创建菜单项?主要问题是我需要生成Go中不支持的某种动态变量。有什么更好的理由吗?

我发现有人提到使用哈希表而不是动态变量。如果是这样,如果值将是“subMenuServer1.AddSubMenuItem(s,“test”)“,那么我需要什么类型的哈希表?

最佳答案

动态创建新变量几乎总是一个坏主意,即使在支持它的语言中也是如此。 Go不支持它,因为它是静态编译的语言。

您最好使用map[string]T类型的映射,TAddSubMenuItem返回的类型。

关于loops - 循环中的动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61468426/

相关文章:

java - 在 for 循环 Java 中创建不断变化的数字序列?

go - 如何防止同步池创建两个实例

python - 将变量与数字相乘时遇到问题

loops - 如何编写传递给函数的迭代器类型?

python - Python 中的 while 循环问题

Python 从当前文件循环

go - 如何将 logrus 时间设置为 UTC

go - 调用有可能的格式化指令

python - 如何为预定义方程中的变量分配新值?

sql - 你如何在 psql 中使用脚本变量?