golang 数组切片和字典

前端之家收集整理的这篇文章主要介绍了golang 数组切片和字典前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@golang语言的数组 切片和字典

  1. packagemain
  2. import(
  3. "fmt"
  4. )
  5.  
  6. funcmain(){
  7. vara[10]int//定义一个数字长度为10,存储int类型
  8. a[0]=10//存储
  9. a[1]=20
  10. a[2]=30
  11. a[3]=40
  12. fmt.Println(a[0],a[1],a[2],a[3])//通过序列打印
  13. fmt.Println(a)//打印整个数组,因为定义长度为10,而我们只存了4个,所有后面的部分将以零值填充。
  14. //运行结果
  15.  
  16. 10203040
  17. [10203040000000]
  18. //初始化并赋值
  19. num:=[5]int{1,2,3,4,5}//初始化并赋值
  20. fmt.Println(num)
  21.  
  22. //数组遍历
  23. fori,value:=rangenum{//索引和值
  24. fmt.Println(value,i)
  25. }
  26.  
  27. //数组定义时可不定义切片大小
  28. sliceOne:=[]int{1,5}
  29. fmt.Println(sliceOne[0],sliceOne[1],sliceOne[2])
  30.  
  31. //通过开始索引和结束索引创建一个新的切片
  32. sliceTwo:=sliceOne[1:3]//返回sliceOne中索引1到索引3,但不包含3
  33. fmt.Println(sliceTwo)//运行结果:[23]
  34.  
  35. //可省略开始索引,省略表示从索引0开始
  36. fmt.Println(sliceOne[:3])//返回索引0-索引3,不包含3
  37.  
  38. //可省略结束索引,省略表示直到最后一个
  39. fmt.Println(sliceOne[1:])//打印索引1到最后,全部被打印出来运行结果:[2345]
  40.  
  41. //同事省略开始和结束表示复制全部切片
  42. fmt.Println(sliceOne[:])
  43.  
  44. //使用make初始化并设定长度与容量
  45. sliceThree:=make([]int,5,10)//表示初始化一个切片,长度为5,最大容量为10,即在内存中申请了能放置10个长度的空间,这样在有新元素插入的时候就不用再动态分配空间提高效率。
  46. fmt.Println(sliceThree)//运行结果:[00000]
  47.  
  48. //使用len和cap查看切片的长度和容量
  49. fmt.Println(len(sliceThree))
  50. fmt.Println(cap(sliceThree))//运行结果:510
  51.  
  52. //使用append来追加元素
  53. sliceThree=append(sliceThree,4)
  54. fmt.Println(sliceThree)//运行结果:[000001234]
  55.  
  56. //字典map
  57. //使用make来创建map
  58. m:=make(map[string]int)//定义建值为字符串,值为整型
  59. m["first"]=1
  60. fmt.Println(m["first"])//运行结果:1
  61. m["first"]=2
  62. fmt.Println(m["first"])//运行结果:2
  63. //使用len获取map长度
  64. fmt.Println(len(m))//运行结果:1
  65.  
  66. //检查map中是否包含某个建值
  67. v,ok:=m["third"]//如果包含建值third那么,v等于third对应的值,ok为true,否则v为零值,ok为false
  68. fmt.Print(v,ok)//运行结果:0false
  69.  
  70. //delete删除map中的建值对
  71. delete(m,"first")
  72. fmt.Println(m)
  73.  
  74. //创建的时候初始化
  75. varmp=map[string]int{
  76. "first":1,"second":2,}
  77.  
  78. //字典嵌套
  79. outer:=map[string]map[string]int{
  80. "inner1":map[string]int{
  81. "first":1,}
  82. "inner2":map[string]int{
  83. "first":3,"second":4,}
  84. }
  85. }

猜你在找的Go相关文章