zoukankan      html  css  js  c++  java
  • 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)要求:随机生成五个数,并将其反转打印 , 复杂应用.

            

  • 相关阅读:
    python中Cmap的用法
    Js中 关于top、clientTop、scrollTop、offsetTop
    通过ByteArray来播放MP3
    JS中的call()和apply()方法
    flash 屏幕更新 Essential.ActionScript
    Aptana Studio 3 如何汉化,实现简体中文版
    Flash Builder更新Flash player版本
    随机不重复
    Aptana :调试 javascript 图解
    获取两个数组的相同元素或不相同的元素
  • 原文地址:https://www.cnblogs.com/Essaycode/p/12642525.html
Copyright © 2011-2022 走看看