我需要在我的 go 代码内部维护一些数据:一个嵌套多层深度的 ID,当提供父道具的名称时可以访问它。例如,如果用 JavaScript 编写,我会这样做:
var data = {
1111: {
la1: {
lb1: 1343584765,
lb2: 1545438458
},
la2: {
lb1: 1263268535,
lb2: 1468904679
}
},
2222: {
la1: {
lb1: 1645078365,
lb2: 1457732458
},
la2: {
lb1: 1682974682,
lb2: 1782975685
}
}
}
然后像这样访问(是的,顶部道具需要是一个整数):
data[1111]['la1']['la2'] //gets 1343584765
但我看不出如何用 Go 结构构建这个结构,而且我读过的大多数东西都建议不要这样做。我能看到的唯一另一种方法是在 Go 中使用此逻辑,但感觉很混乱,而且可能会变得更大,因此难以维护:
func getVal(
varA int,
varB string,
varC string,
) int {
if varA == 1111 {
if varB == "la1" {
if varC == "lb1" {
return 1343584765
}
if varC == "lb2" {
return 1545438458
}
}
if varB == "la2" {
if varC == "lb1" {
return 1263268535
}
if varC == "lb2" {
return 1468904679
}
}
}
if varA == 2222 {
....etc
然后访问:
getVal(1111, "la1", "lb1") //gets 1343584765
非常感谢任何可以帮助我的人!
收到一只叮咚
相关分类