GO基础之数组

一、数组的声明与遍历

package main

import "fmt"

//声明数组的形式1
var arr [3]int
var arr2 = [4]int{1, 2, 3, 4}

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

    b := [...]int {2,3,4}

    //遍历数组方式1
    for i:=0; 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[0] = "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() {
    var a = [5][3]int{ {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12},{13,14,15}}

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

 

posted @ 2019-11-02 08:34  小禾点点  阅读(322)  评论(0编辑  收藏  举报