下面一个场景是给一个 map-list 的数据,如 data1[0]
添加元素 "test1"
。
data1 := make(map[int][]string)
if _, ok := data[0]; ok {
data[0] = append(data[0], "test1")
} else {
data[0] = []string{"test1"}
}
上面的做法没有问题,看起来也考虑得很全面,对于元素 0
存不存在都做了区分判定,然后分别讨论,看起来是一段很完美的代码。
但是,实际上上面的代码可以简化成下面这段:
data1 := make(map[int][]string)
data1[0] = append(data1[0], "test1")
如果元素0
不存在,内部会创建一个 list,减少一些繁琐的步骤。很多代码都会用一段简洁的代码去省去不必要的冗长的部分。