GO学习 Array

基础篇

package main

import "fmt"

func main() {

  /*

  数据类型:

    基本类型:整数,浮点,布尔,字符串

    复合类型:array,slice,map,struct,pointer,function,channel...

  数组:

    1.概念:存储一组相同类型的数据结构

      理解为容器,存储一组数据

    2.语法:

      var 数组名 [长度] 数据类型

      var 数组名 = [长度] 数据类型{元素1,元素2。。。}

      数组名 :=[。。。]数据类型{元素。。。}

    3.通过下标访问

      下标,也叫索引:index

      默认从0开始的整数,直到长度减1

      数组名[index]

        赋值

        取值

      不能越界:[0,长度-1]

    4.长度和容量:go语言的内置函数

      len()

  */

  //step1:创建数组

  var arr1 [4] int

  //step2:数组的访问

  arr1[0] = 1

  arr1[1] = 2

  arr1[2] = 13

  arr1[3] = 41

  fmt.Println(arr1[0])//打印第一个数值

  fmt.Println(arr1[2])//打印第一个数值

  //fmt.Println(arr1[4])//打印第一个数值

  // invalid array index 4 (out of bounds for 4-element array)

  fmt.Println("数组的长度:",len(arr1))//容器中实际存储的数据量

  fmt.Println("数组的容量:",cap(arr1))//容器中能够存储的最大数量

  //因为数组定长,所以长度和容量相同

  arr1[0] = 100

  fmt.Println(arr1[0])

  //数组的其他创建方式

  var a [4] int //同 var a = [4] int

  fmt.Println(a)

  var b =[4]int{1,2,3,4}

  fmt.Println(b)

  var c =[5]int{1,2,3}

  fmt.Println(c)

  var d = [5]int{1:2,3:4}

  fmt.Println(d)

  var e = [5]string{"rose","王二狗","ruby"}

  fmt.Println(e)

  f := [...]int{1,2,3,4}

  fmt.Println(f)

  fmt.Println(len(f))

  g :=[...]int{1:3,3:4}

  fmt.Println(g)

  fmt.Println(len(g))

}

运行输出:

1

13

数组的长度:4

数组的容量:4

100

[0 0 0 0]

[1 2 3 4]

[1 2 3 0 0]

[0 2 0 4 0]

[rose 王二狗 ruby  ]

[1 2 3 4]

4

[0 3 0 4]

4

Process finished with exit code 0

遍历数组:

package main

import "fmt"

func main() {

  /*

  数组的遍历:

    一次访问数组中的元素

    方法一:arr[0],arr[1],arr[2]...

    方法二:通过循环,配合下标

      for i:=0;i<len(arr);i++{

        arr[i]

      }

    方法三:使用range

      range,词义“范围”

      不需要操作数组的下标,到达数据的末尾,自动结束for range循环。

  */

  arr1 := [5]int{1,2,3,4,5}

  fmt.Println(arr1[0])

  fmt.Println(arr1[1])

  fmt.Println(arr1[2])

  fmt.Println(arr1[3])

  fmt.Println(arr1[4])

  fmt.Println("____________________________")

  for i :=0;i<len(arr1);i++{

    fmt.Println(arr1[i])

  }

  fmt.Println("_____________________________")

  for index,value := range arr1{

    fmt.Printf("下标是:%d,数值是:%d,\n",index,value)

  }

}

运行输出:

1

2

3

4

5

____________________________

1

2

3

4

5

_____________________________

下标是:0,数值是:1,

下标是:1,数值是:2,

下标是:2,数值是:3,

下标是:3,数值是:4,

下标是:4,数值是:5,

Process finished with exit code 0


读完点个赞,给我的坚持更新注入新的活力。

2022.05.11日更67/365 天

公众号:3天时间

往期同类文章:

GO学习 goto语句和随机函数

GO学习 for循环练习

GO学习 多重for循环

GO学习 for循环

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容