go語言中map是一個kv對集合。底層使用hash table,用鏈表來解決沖突,通過編譯器配合runtime,所有的map對象都是共用一份代碼。
golang判斷map中key不存在的方法:
判斷方式為value,ok := map[key],ok為true則存在,ok為false則map的key不存在。
package main import "fmt" func main() { demo := map[string]bool{ "a": false, } //錯誤,a存在,但是返回false fmt.Println(demo["a"]) //正確判斷方法 _, ok := demo["a"] fmt.Println(ok) }
輸出
false true