基本介绍
切片的数据类型如果是map,则称之为 slice of map ,这样使用map的个数就可以动态变化了。
代码
package mainimport "fmt"func main() {// 定义map切片, 长度容量都是2var monsters []map[string]string = make([]map[string]string, 2)// 增加一个妖怪的信息if monsters[0] == nil {monsters[0] = make(map[string]string)monsters[0]["name"] = "小牛"monsters[0]["age"] = "10"}if monsters[1] == nil {monsters[1] = make(map[string]string)monsters[1]["name"] = "小马"monsters[1]["age"] = "20"}// 继续增加妖怪// panic: runtime error: index out of range [2] with length 2\// 数组越界/* if monsters[2] == nil {monsters[2] = make(map[string]string)monsters[2]["name"] = "小猴子"monsters[2]["age"] = "22"} */// 这里使用切片的append函数增长var newMonster = map[string]string{"name": "新增加的:小羊","age": "20",}monsters = append(monsters, newMonster)fmt.Println("monsters长度 = ", len(monsters)) // 3fmt.Println("monsters = ", monsters)// [map[age:10 name:小牛] map[age:20 name:小马] map[age:20 name:新增加的:小羊]]}
