GO基础之数组

2019-11-02 来源: 小禾点点 发布在  https://www.cnblogs.com/jalja/p/11780551.html

一、数组的声明与遍历

package main

import "fmt"

//声明数组的形式1
]int
], , , }

func main() {
    //    声明数组的形式2
    a := []float64{, , 6.1}
    fmt.Println(a)

    b := [...],,}

    //遍历数组方式1
    ; i<len(a) ; i++ {
        fmt.Print(a[i] , "\t")
    }

    fmt.Println()

    //遍历数组方式2
    for _,value := range b  {
        fmt.Print(value  , "\t")
    }

    //if arr == nil {
    //    fmt.Println("arr==nil")
    //}
    fmt.Print("\n 遍历arr数组:")
    for _ , value := range arr {
        fmt.Print(value , "\t")
    }
}

数组是值传递

package main

import "fmt"

func main() {
    a := [...] string{"a" , "b" , "c" , "d"}
    b := a
    b[] = "x"
    fmt.Println("a" , a)//[a b c d]
    fmt.Println("b" , b)//[x b c d]
}

二、二维数组

二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。

在GO语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中元素也是依次存放。

1、二维数组的元素也称为双下标变量,其表示的形式为:
    数组名[下标][下标]
2、其中下标应为整型常量或整型表达式。例如:
      a[3][4]   :表示a数组三行四列的元素。

package main

import "fmt"

func main() {
    ][],,}, {,,}, {,,}, {,,},{,,}}

    ; i<len(a) ;i++  {
        ;j<len(a[]) ;j++  {
            fmt.Printf("a[%d][%d]=%d\n"  , i , j , a[i][j])
        }
    }
}

相关文章