下面代码中 A B 两处应该怎么修改才能顺利编译?
func main() {
var m map[string]int //A
m["a"] = 1
if v := m["b"]; v != nil { //B
fmt.Println(v)
}
}
下面代码中 A B 两处应该怎么修改才能顺利编译?
func main() {
var m map[string]int //A
m["a"] = 1
if v := m["b"]; v != nil { //B
fmt.Println(v)
}
}
`单行代码`
打卡
m
mark
(golang 码农求职)
Mark
打卡
var m make(map[string]int) if v,ok:=m["b"];ok{}
map返回两个参数
1
mark
打卡
A: var m map[string]int // 定义 map变量 m = make[string]int // 分配内存空间
B: if v, ok := m["b"]; ok {
mk
查询map存在否用_, ok = X['x']; !ok
mk
done
打卡学习
在 A 处只声明了map m ,并没有分配内存空间,不能直接赋值,需要使用 make(),都提倡使用 make() 或者字面量的方式直接初始化 map。
打卡
mark
打卡
func main() { var m map[string]int m["a"] = 1 if v := m["b"]; v != 0 { //nil 改为0就编译通过了,注意是编译通过,不是运行。 fmt.Println(v) } }
mark
mark
m :=map[string]int{} //这样也可以 m :=make(map[string]int) //必须初始化
mark
打卡
打卡
mark