第八章 九析带你轻松完爆 go - 数组玩转

系列文章:


总目录索引:九析带你轻松完爆 go 系列教程

目录

1 前言

2 一维数组

    2.1 一维数组声明

    2.2 一维数组初始化

        2.2.1 全量初始化

        2.2.2 长度推测初始化

        2.2.3 指定索引初始化

    2.3 一维数组遍历

        2.3.1 索引遍历数组

        2.3.2 range 遍历数组

3 二维数组

    3.1 二维数组声明

    3.2 二维数组初始化

    3.3 二维数组遍历

        3.3.1 索引遍历

        3.3.2 range 遍历


1 前言

        如果你对博客有任何疑问或者想更深入学习 go,请加微信群,我们一起进步:

1.jpeg


2 一维数组

2.1 一维数组声明

        一维数组声明是三段式:

var arr_name [arr_length] arr_type

        样例代码如下:

var arr [2]int

2.2 一维数组初始化

2.2.1 全量初始化

        全量初始化含义是在初始化数组时明确指定数组长度。样例代码如下:

package main


import "fmt"


func main() {

     var arr [3]int

     arr = [3]int{1, 2, 3}

     fmt.Println(arr)

}

        一维数组同时声明和初始化,样例代码如下:

package main


import "fmt"


func main() {

     arr := [3]int{1, 2, 3}

     fmt.Println(arr)

}

2.2.2 长度推测初始化

        当数组元素很多的情况下,可以使用 ... 来表示初始化数组的长度。样例代码如下:

package main


import "fmt"


func main() {

     arr := [...]int{1, 3, 5, 7, 9, 10}

     fmt.Println(arr)

}

2.2.3 指定索引初始化

        有时我们需要为特定索引的数组元素赋值,其他未指定索引的数组元素保持默认值。语法为 index: value。样例代码如下:

package main


import "fmt"


func main() {

     arr := [5]int{0: 8, 4: 6}

     fmt.Println(arr)

}

        输出结果为:

8

0

0

0

6

2.3 一维数组遍历

2.3.1 索引遍历数组

package main


import "fmt"


func main() {

     arr := [5]int{1, 3, 5, 7, 9}

     for i := 0; i < 5; i++ {

          fmt.Println(arr[i])

     }

}

2.3.2 range 遍历数组

package main


import "fmt"


func main() {

     arr := [5]int{1, 3, 5, 7, 9}

     for _, v := range arr {

          fmt.Println(v)

     }

}


3 二维数组

3.1 二维数组声明

        二维数组声明关键点在于 var 关键字的使用和数组维度声明。样例代码如下:

package main


import "fmt"


func main() {

     var arr [2][2]int

     fmt.Println(arr)

}

        执行结果:

[[0, 0], [0, 0]]

3.2 二维数组初始化

package main


import "fmt"


func main() {

     var arr [2][2]int = [2][2]int{[2]int{1, 2}, [2]int{3, 4}}

     fmt.Println(arr)

}

        也可以直接数组声明的时候同时进行初始化,样例代码如下:

package main


import "fmt"


func main() {

     arr := [2][2]int{[2]int{1, 2}, [2]int{3, 4}}

     fmt.Println(arr)

}

3.3 二维数组遍历

3.3.1 索引遍历

package main


import "fmt"


func main() {

     arr := [2][2]int{[2]int{1, 2}, [2]int{3, 4}}

     for i := 0; i < 2; i++ {

         for j := 0; j < 2; j++ {

              fmt.Println(arr[i][j])

         }

     }

}

3.3.2 range 遍历

package main


import "fmt"


func main() {

     arr := [2][2]int{[2]int{1, 2}, [2]int{3, 4}}

     for i := range arr {

         for j := range arr[i] {

              fmt.Println(arr[i][j])

         }

     }

}

猜你喜欢

转载自blog.51cto.com/14625168/2474655