假设我有两个结构。 StructA和包含StructA数组的StructB。我如何遍历StructB并检查其中StructA中的变量值?
vendor.js
答案 0 :(得分:1)
在Go中不能迭代Struct。您还希望通过多个foo
字段彻底遍历StructB
属性。因此,您应该遍历作为结构属性的切片。然后只需检查方程式以找到所需的值或确定它不存在。
target := "C"
a := StructB{[]StructA{StructA{"A", "B", "C"}}}
for _, i := range a.foo {
if target == i.varA {
fmt.Println(i.varA)
} else if target == i.varB {
fmt.Println(i.varB)
} else if target == i.varC {
fmt.Println(i.varC)
} else {
fmt.Println("None of above")
}
}
Go非常明确,技巧很少能带来真正的利润。