zoukankan      html  css  js  c++  java
  • Go 语言数组

    Go 语言数组

    Go 语言提供了数组类型的数据结构。

    数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。

    相对于去声明 number0, number1, ..., number99 的变量,使用数组形式 numbers[0], numbers[1] ..., numbers[99] 更加方便且易于扩展。

    数组元素可以通过索引(位置)来读取(或者修改),索引从 0 开始,第一个元素索引为 0,第二个索引为 1,以此类推。

    img


    声明数组

    Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:

    var variable_name [SIZE] variable_type
    

    以上为一维数组的定义方式。例如以下定义了数组 balance 长度为 10 类型为 float32:

    var balance [10] float32
    

    初始化数组

    以下演示了数组初始化:

    var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    

    我们也可以通过字面量在声明数组的同时快速初始化数组:

    balance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    

    如果数组长度不确定,可以使用 ... 代替数组的长度,编译器会根据元素个数自行推断数组的长度:

    var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    或
    balance := [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    

    如果设置了数组的长度,我们还可以通过指定下标来初始化元素:

    //  将索引为 1 和 3 的元素初始化
    balance := [5]float32{1:2.0,3:7.0}
    

    初始化数组中 {} 中的元素个数不能大于 [] 中的数字。

    如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:

     balance[4] = 50.0
    

    以上实例读取了第五个元素。数组元素可以通过索引(位置)来读取(或者修改),索引从 0 开始,第一个元素索引为 0,第二个索引为 1,以此类推。

    img


    访问数组元素

    数组元素可以通过索引(位置)来读取。格式为数组名后加中括号,中括号中为索引的值。例如:

    var salary float32 = balance[9]
    

    以上实例读取了数组 balance 第 10 个元素的值。

    以下演示了数组完整操作(声明、赋值、访问)的实例:

    实例 1

    package main
    
    import "fmt"
    
    func main() {
        var n [10]int /* n 是一个长度为 10 的数组 */
        var i,j int
    
        /* 为数组 n 初始化元素 */*    
        for i = 0; i < 10; i++ {
            n[i] = i + 100 /* 设置元素为 i + 100 */
        }
    
        /* 输出每个数组元素的值 */
        for j = 0; j < 10; j++ {
            fmt.Printf("Element[%d] = %d**
    **", j, n[j] )
        }
    }
    

    以上实例执行结果如下:

    Element[0] = 100
    Element[1] = 101
    Element[2] = 102
    Element[3] = 103
    Element[4] = 104
    Element[5] = 105
    Element[6] = 106
    Element[7] = 107
    Element[8] = 108
    Element[9] = 109
    

    实例 2

    package main
    
     import "fmt"
    
     func main() {
       var i,j,k int
       // 声明数组的同时快速初始化数组
       balance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    
       /* 输出数组元素 */     ...
       for i = 0; i < 5; i++ {
        fmt.Printf("balance[%d] = %f
    ", i, balance[i] )
       }
    
       balance2 := [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
       /* 输出每个数组元素的值 */
       for j = 0; j < 5; j++ {
        fmt.Printf("balance2[%d] = %f
    ", j, balance2[j] )
       }
    
       //  将索引为 1 和 3 的元素初始化
       balance3 := [5]float32{1:2.0,3:7.0}  
       for k = 0; k < 5; k++ {
        fmt.Printf("balance3[%d] = %f
    ", k, balance3[k] )
       }
     }
    

    以上实例执行结果如下:

    balance[0] = 1000.000000
    balance[1] = 2.000000
    balance[2] = 3.400000
    balance[3] = 7.000000
    balance[4] = 50.000000
    balance2[0] = 1000.000000
    balance2[1] = 2.000000
    balance2[2] = 3.400000
    balance2[3] = 7.000000
    balance2[4] = 50.000000
    balance3[0] = 0.000000
    balance3[1] = 2.000000
    balance3[2] = 0.000000
    balance3[3] = 7.000000
    balance3[4] = 0.000000
    

    更多内容

    数组对 Go 语言来说是非常重要的,以下我们将介绍数组更多的内容:

    内容 描述
    多维数组 Go 语言支持多维数组,最简单的多维数组是二维数组
    向函数传递数组 你可以向函数传递数组参数

    本文转自:https://www.runoob.com/go/go-arrays.html

    微信 QQ

    个性签名:独学而无友,则孤陋而寡闻!

    如果觉得这篇文章对你有小小的帮助的话,记得点个“关注”哦,博主在此感谢!还可以扫码添加好友,交流编程上的问题哦!

    万水千山总是情,点赞再走行不行!哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    每日编程-20170322
    每日编程-20170321
    C++primer拾遗(第七章:类)
    每日编程-20170320
    uniApp之 顶部选项卡
    vue 服务端渲染 vs 预渲染(1)
    uni-app学习笔记
    如何解决vue跨域的问题
    简单整理数组的用法
    vue-cli
  • 原文地址:https://www.cnblogs.com/bladecheng/p/15001574.html
Copyright © 2011-2022 走看看