go map嵌套 map的value可以是任意類型


在日常編程中,除了使用內置的數據類型,還會使用一些復雜的自定義數據類型,比如map K為string,V為數組。

先了解一下go對map的基本設定:
map的key可以是任意內置的數據類型(如int),或者其它可以通過"=="進行等值比較的數據類型,如interface和指針都可以。 slice、數組、map、struct類型都不能作為key。 經網友指出,這句話為錯誤。

map的value可以是任意類型,例如嵌套一個slice到map中:

func main() {
	testmap := map[string][]string{}
	testmap["1"] = []string{"001", "002"}

	fmt.Println(testmap["1"])
}

run

➜  testgo go run main.go
[001 002]

遍歷:

func main(){
	testmap := map[string][]string{}
	testmap["1"] = []string{"001", "002"}

	for order := range testmap{
		fmt.Println(order, testmap[order])
		fmt.Println(testmap[order][0])
		fmt.Println(testmap[order][1])
	}
}

run

➜  testgo go run main.go
1 [001 002]
001
002

參考

https://studygolang.com/articles/16426


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM