key-value pair ,相當於javascript 的 object、python的dictionary
不過一個map的所有key都要是相同type,所有value也要是相同type(key跟value不用一樣)
package main
import "fmt"
func main() {
colors := map[string]string{
"red" : "#ff0000",
"green" : "#00ff00",
"blue" : "#0000ff",
}
fmt.Println(colors)
}
// map[red:#ff0000 green:#00ff00 blue:#0000ff]
其他建立amp的方法 (沒有給值,所以go會預設給 該型別的zero value,string的話就是””)
// 這裏key用int,跟前面不同
var color map[int]string
color := make(map[int]string)
給值(只能用中括號,不能用點點,因為key的型別要對)
// 正確
color[1] = "#ffffff"
// 錯誤
color.1 = "#ffffff"
刪除值 用內建的delete function
第一個參數map、第二個參數key
delete(color, 1)
iterating over maps
基本上跟iterate slice一樣,只是宣告變數的部分第一個是key,第二個是value