赞
踩
数组定义:var 数组名 [数组长度] 数组元素类型。
访问数组可以通过下标:如 a[4]
数组长度获取:len(a)
数组长度固定,不可以更改。
切片定义:
- s:=make([]string,3) //指明切片元素类型,长度
- s[0]="a"
- s[1]="b"
- s[2]="c" //通过索引赋值
-
- s = append(s,"d")
- s = append(s,"e","f") //通过append添加元素 需要将返回值赋给原切片
-
- c:=make([]string,3)
- copy(c,s) //拷贝数组
-
-
- //支持像python的切片 但是不支持负数索引
- fmt.Println(s[2:5]) //访问索引2到索引4的元素
- fmt.Println(s[:5]) //访问索引1到索引4的元素
- fmt.Println(s[2:]) //访问索引2到索引4的元素
切片内部实现是一个数组+指针+长度记录+定义的容量,当需要扩容时会产生一个新数组。
map: 无序的,输出时是随机的
- c:=make(map[string]int) //方括号中是key的类型 后面是值类型。
-
- c["abc"]:= 6 //赋值
-
- delete(c,"abc") //删除键值对
-
- //判断是否含有key
- res,ok=m["unknow"] //因为key不存在 所以res=0 ok=false
三种集合都支持for range型访问。
语法 for k,v := range 集合名称{ //其中k为索引值/键值 v元素对应值 可以用下划线占位忽略。
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。