Go中map的創建和初始化
阿新 • • 發佈:2018-10-05
切片 var 字典 默認 () project key 語義 操作
// code_014_map_usage project main.go
package main
import (
"fmt"
)
func main() {
/*Go語言中的map(映射,字典)是一種內置的數據結構,它是一個無序的key-value對的集合。
1)鍵的約束:
在一個map裏所有的鍵都是唯一的,而且必須是支持==和!=操作符的類型
2)切片、函數以及包含切片的結構類型這些類型由於具有引用語義,不能作為映射的鍵
err, invalid map key type []string
3)map值:
可以是任意類型,沒有限制。
4)鍵值的數據類型:
map裏所有鍵的數據類型必須是相同的,值也必須如何,但鍵和值的數據類型可以不相同。
5)註意:map是無序的,我們無法決定它的返回順序,所以,每次打印結果的順利有可能不同。
*/
//1、創建
var g1 map[int]string //默認值為nil
g2 := map[int]string{}
g3 := make(map[int]string)
g4 := make(map[int]string, 10)
fmt.Println(g1, g2, g3, g4, len(g4))
//2、初始化
var m1 map[int]string = map[int]string{1: "ck_god", 2: "god_girl"}
m2 := map[int]string{1: "ck_god", 2: "god_girl"}
fmt.Println(m1, m2)
}
結果如下:
//map[] map[] map[] map[] 0
//map[1:ck_god 2:god_girl] map[1:ck_god 2:god_girl]
Go中map的創建和初始化