Go中数组的使用

// code_012_array_element project main.go
package main

import (
    "fmt"
)

func modify(array [5]int) {
    array[0] = 10
    fmt.Println("In modify(), array values:", array)
}

func modify01(array01 *[5]int) {
    (*array01)[0] = 10
    fmt.Println("In modify(), array01 values:", *array01)
}

func main() {
    //  var n int = 10
    //  var a[n]int //数组长度不能为变量
    var a [10]int //ok

    for i, v := range a {
        fmt.Println("a[", i, "]=", v)
    }
    fmt.Println("================================")

    //内置函数len长度和cap容量
    z := [10]int{}
    fmt.Println(len(z), cap(z))
    fmt.Println("================================")

    //初始化
    b := [3]int{1, 2} //未初始化的元素值为0
    c := [...]int{1, 2, 3, 4}
    d := [5]int{2: 100, 4: 200}
    fmt.Println(b, c, d)
    fmt.Println("================================")

    //支持多维数组
    e := [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}}
    f := [...][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}} //第二维不能写...
    g := [4][2]int{1: {20, 21}, 3: {40, 41}}
    h := [4][2]int{1: {0, 20}, 3: {1: 41}}
    fmt.Println(e, f, g, h) //相同类型的数组之间可以使用 == 或 != 进行比较,但不可以使用 < 或 >,也可以相互赋值

    fmt.Println("================================")
    //函数间传递数组
    //在函数之间传递变量的时候,总是以值的方式传递的。
    //如果这个变量是一个数组,意味着整个数组,不管有多长,都会完整复制,并传递给函数。
    array := [5]int{1, 2, 3, 4, 5}
    modify(array)
    fmt.Println("In main(), array values:", array)

    //数组指针做函数参数:
    array01 := [5]int{1, 2, 3, 4, 5} // 定义并初始化一个数组
    modify01(&array01)               // 数组指针
    //In main(), array values: [10 2 3 4 5]
    fmt.Println("In main(), array01 values:", array01)
}

执行结果如下:

从网站建设到定制行业解决方案,为提供成都做网站、网站建设、外贸营销网站建设服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联建站将不断加快创新步伐,提供优质的建站服务。

a[ 0 ]= 0
a[ 1 ]= 0
a[ 2 ]= 0
a[ 3 ]= 0
a[ 4 ]= 0
a[ 5 ]= 0
a[ 6 ]= 0
a[ 7 ]= 0
a[ 8 ]= 0
a[ 9 ]= 0
================================
10 10
================================
[1 2 0] [1 2 3 4] [0 0 100 0 200]
================================
[[10 11] [20 21] [30 31] [40 41]] [[10 11] [20 21] [30 31] [40 41]] [[0 0] [20 21] [0 0] [40 41]] [[0 0] [0 20] [0 0] [0 41]]
================================
In modify(), array values: [10 2 3 4 5]
In main(), array values: [1 2 3 4 5]
In modify(), array01 values: [10 2 3 4 5]
In main(), array01 values: [10 2 3 4 5]

分享文章:Go中数组的使用
本文路径:https://www.cdcxhl.com/article44/ihecee.html

成都网站建设公司_创新互联,为您提供外贸网站建设响应式网站虚拟主机面包屑导航品牌网站设计手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作