修改映射
修改映射
在映射 m 中插入或修改元素: m[key] = elem
获取元素: elem = m[key]
删除元素: delete(m, key)
通过双赋值检测某个键是否存在: elem, ok = m[key]
若 key 在 m 中, ok 为 true ;否则, ok 为 false 。(其实就是true为存在,false为不存在)
若 key 不在映射中,那么 elem 是该映射元素类型的零值。
同样的, 当从映射中读取某个不存在的键时,结果是映射的元素类型的零值。
注 :若 elem 或 ok 还未声明,你可以使用短变量声明: elem, ok := m[key] package main import "fmt" func main() { m := make(map[string]int) m["Answer"] = 42 fmt.Println("The value:", m["Answer"]) m["Answer"] = 48 fmt.Println("The value:", m["Answer"]) delete(m, "Answer")//这里删除了"Answer"键 所以现在"Answer"是不存在的,所以返回 0 fmt.Println("The value:", m["Answer"]) v, ok := m["Answer"] fmt.Println("The value:", v, "Present?", ok) } //结果 The value: 42 The value: 48 The value: 0 The value: 0 Present? false
1 package
main 2 3 import
"fmt" 4 5 func
main () { 6
m :
make ( map [ string ] int ) 7 8
m [ "Answer" ]
42 9
fmt . Println ( "The value:" , m [ "Answer" ]) 10 11
m [ "Answer" ]
48 12
fmt . Println ( "The value:" , m [ "Answer" ]) 13 14
delete ( m , "Answer" ) //这里删除了"Answer"键 所以现在"Answer"是不存在的,所以返回 0 15
fmt . Println ( "The value:" , m [ "Answer" ]) 16 17
v , ok :
m [ "Answer" ] 18
fmt . Println ( "The value:" , v , "Present?" , ok ) 19 } 20 //结果 21 The
value : 42 22 The
value : 48 23 The
value : 0 24 The
value : 0
Present?
false