我试图弄清楚循环遍历 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
类型的映射,T
是AddSubMenuItem
返回的类型。
关于loops - 循环中的动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61468426/