5
當我想以類似的方式使用映射鍵但是映射中的值不同時,我遇到過幾次這個問題。我想我可以編寫一個函數,它將我想要的鍵類型作爲值類型,但它不起作用。Go Lang通用映射值
func main() {
mapOne := map[string]int
mapTwo := map[string]double
mapThree := map[string]SomeStruct
useKeys(mapOne)
}
func useKeys(m map[string]interface{}) {
//something with keys here
}
不知道是否有一個優雅的方式來做到這一點,我只覺得腰部全改寫簡單的事情,對於不同的值。
如果你知道前面有什麼價值類型您關注的是,你可以寫一個'func keys(m interface {})'(或者通過一個通道或者調用一個函數來遞增鍵的函數)並且在[type switch](http://golang.org/ref/spec#Type_switches)它。但是我傾向於重複使用所有按鍵的循環,不僅適用於一般的「編寫Go-Go」原因,而且還適用於更多的編譯時類型檢查。 – twotwotwo 2014-09-10 19:19:46