我有一個相當長的其他鏈,如果鏈在地圖中查找鍵和設置一個特定的值,如果找到。我選擇用最少的代碼量做到這一點的方式是這樣的(m
是map[string]interface{}
)地圖其他如果鏈地圖鍵
var ok bool
var s interface{}
if s, ok = m["key1"]; ok {
} else if s, ok = m["key2"]; ok {
....
} else if s, ok = m["keyN"]; ok {
} else {
return RuhRohError
}
g.Id = s.(string)
這感覺有點笨重,我做的所有這些else if
的來設置的條件變量。有沒有一種慣用的方式來做到這一點?我認爲這種方式並沒有讓我立即明白我在做什麼。
我正在考慮這個確切的解決方案。似乎有點可讀性。也可以使'findValue(m map [string] interface {},keys ... string)' – user3591723