天天看點

Go語言學習筆記十三: Map集合

Go語言學習筆記十三: Map集合

Map在每種語言中基本都有,Java中是屬于集合類Map,其包括HashMap, TreeMap等。而Python語言直接就屬于一種類型,寫法上比Java還簡單。

Go語言中Map的寫法比Java簡單些,比Python繁瑣。

定義Map

var x map[string]string
x : = make(map[string]string)
           

寫法上有些奇怪,map為關鍵字,右側中括号内部為key的類型,中括号外部為value的類型。一般情況下使用逗号或者冒号分割key和value,但是Go語言沒有遵循這個原則,而是使用了括号裡和括号外。

而且map必須初始化,否則就會變成nil map,而nil map不能用來存放鍵值對。

package main

import "fmt"

func main() {
	var x map[string]string
	x = make(map[string]string)
	
	x["a"] = "1";
	x["b"] = "2";
	
	for item := range x {
		fmt.Println(item, x[item]);
	}
	
	value, exist := x["a"]
	if (exist) {
		fmt.Println("x has", value);
	}
}
           

delete函數

delete() 函數用于删除集合的元素, 參數為 map 和其對應的 key。

fruits := map[string]string {"apple": "12", "orange": "210"}
delete(fruits, "apple")