当前位置:   article > 正文

Golang的数组、切片和map_golang 切片有没有负数

golang 切片有没有负数

数组定义:var 数组名 [数组长度] 数组元素类型。

访问数组可以通过下标:如 a[4]

数组长度获取:len(a)

数组长度固定,不可以更改。

切片定义:  

  1. s:=make([]string,3) //指明切片元素类型,长度
  2. s[0]="a"
  3. s[1]="b"
  4. s[2]="c" //通过索引赋值
  5. s = append(s,"d")
  6. s = append(s,"e","f") //通过append添加元素 需要将返回值赋给原切片
  7. c:=make([]string,3)
  8. copy(c,s) //拷贝数组
  9. //支持像python的切片 但是不支持负数索引
  10. fmt.Println(s[2:5]) //访问索引2到索引4的元素
  11. fmt.Println(s[:5]) //访问索引1到索引4的元素
  12. fmt.Println(s[2:]) //访问索引2到索引4的元素

切片内部实现是一个数组+指针+长度记录+定义的容量,当需要扩容时会产生一个新数组。

map: 无序的,输出时是随机的

  1. c:=make(map[string]int) //方括号中是key的类型 后面是值类型。
  2. c["abc"]:= 6 //赋值
  3. delete(c,"abc") //删除键值对
  4. //判断是否含有key
  5. res,ok=m["unknow"] //因为key不存在 所以res=0 ok=false

三种集合都支持for range型访问。

语法 for k,v := range 集合名称{ //其中k为索引值/键值 v元素对应值 可以用下划线占位忽略。

}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/206310
推荐阅读
相关标签
  

闽ICP备14008679号