数组

定义

数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(译者注:当然,如果是 interface{} 类型数组,可以包含任意类型)

package main

import "fmt"

func main(){
    //var a [5]int  //定义了一个长度为5的int类型数组,打印结果为[0 0 0 0 0]
    
    //a[2] = 50  //将索引为2的位置改为50
    //fmt.Println(a)

    //定义并赋初值
    //var a [6]int = [6]int{1,2,3,4,5,6}  //打印结果:[1 2 3 4 5 6]
    //var a = [5]int{1,2,3}  //打印结果:[1 2 3 0 0 0]
    a := [10]int{1,2,5:15,9:20}  //5:15:表示将索引为5的位置改为15
    fmt.Println(a)
}

数组是值类型

Go 中的数组是值类型而不是引用类型。这意味着当数组赋值给一个新的变量时,该变量会得到一个原始数组的一个副本。如果对新变量进行更改,则不会影响原始数组。

    //所有的函数传参都是copy传递
    //a:=[4]int{1,2,3}
    //test6(a)
    //fmt.Println(a)

数组的长度

package main

import "fmt"

func main(){
    var a [4]int = [4]int{1,2,3}
    fmt.Println(len(a))
}

与、或、非

与:&&   
或:||  
非:

通过range迭代数组

package main

import "fmt"

func main(){
    var a = [4]int{1,2}
    for i,v:= range a{  //a表示索引,i表示值
        fmt.Println("索引:",i)
        fmt.Println(v)
    }
}

多维数组

package main

import "fmt"

func main(){
    var a [5][2]int  //[5]表示数组长度,[2]表示二维数组
    a[2][0] = 20  //修改数值
    fmt.Println(a)
    }

你可能感兴趣的:(数组)