Golang-数组

Golang-数组

  介绍

    数组可以存放多个同一类型数据。数组也是一种数据类型,在 Go 中,数组是值类型。

  数组的快速入门

    我们使用数组的方法来解决养鸡场的问题.

     

    对上面代码的总结
    1)使用数组来解决问题,程序的可维护性增加.
    2)而且方法代码更加清晰,也容易扩展。


  数组定义和内存布局    

    数组的定义
      var 数组名 [数组大小]数据类型
      var a [5]int
      赋初值 a[0] = 1 a[1] = 30 ....
      数组在内存布局(重要)

             

        对上图的总结:
        1)数组的地址可以通过数组名来获取 &intArr
        2)数组的第一个元素的地址,就是数组的首地址
        3)数组的各个元素的地址间隔是依据数组的类型决定,比如 int64 -> 8 int32->4...

          

     

    数组的使用

      访问数组元素
        数组名[下标] 比如:你要使用 a 数组的第三个元素 a[2]

      快速入门案例

        从终端循环输入 5 个成绩,保存到 float64 数组,并输出.

        

      四种初始化数组的方式

        

      数组的遍历
        方式 1-常规遍历:
          前面已经讲过了,不再赘述。
        方式 2-for-range 结构遍历

          这是 Go 语言一种独有的结构,可以用来遍历访问数组的元素。
          for--range 的基本语法

          

           for-range 的案例

          

       数组使用的注意事项和细节

        1)数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的, 不能动态变化

          

        2)var arr []int 这时 arr 就是一个 slice 切片,切片后面专门讲解,不急哈.
        3)数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用。
        4)数组创建后,如果没有赋值,有默认值(零值)   数值类型数组:默认值为 0 字符串数组: 默认值为 "" bool 数组: 默认值为 false

        5)使用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值(默认零值) 3 使用数组

          

         6)数组的下标是从 0 开始的

              

        7)数组下标必须在指定范围内使用,否则报 panic:数组越界,比如var arr [5]int 则有效下标为 0-4
        8)Go 的数组属值类型, 在默认情况下是值传递, 因此会进行值拷贝。数组间不会相互影响、

          

         9)如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)

          

         10)长度是数组类型的一部分,在传递函数参数时 需要考虑数组的长度,看下面案例

          

    数组的应用案例
      1)创建一个 byte 类型的 26 个元素的数组,分别 放置'A'-'Z‘。使用 for 循环访问所有元素并打印出来。提示:字符数据运算 'A'+1 -> 'B'

        

       2)请求出一个数组的最大值,并得到对应的下标。

        

       3)请求出一个数组的和和平均值。for-range

        

       4)要求:随机生成五个数,并将其反转打印 , 复杂应用.

        

猜你喜欢

转载自www.cnblogs.com/Essaycode/p/12642525.html