Go | 一分钟掌握Go | 4 - 数组

64 阅读2分钟

作者:Mars酱

声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。

转载:欢迎转载,转载前先请联系我!

说明

特意省去了很多基础章节,比如常量、变量、条件语句、判断语句、循环语句等等,那种1 - 2天就能学会;

声明数组

// 声明一个长度为3 的int型数组,数组名为intArray
var intArray [3]int
// 声明一个长度为3的string型数组,数组名为strArray,并给每个位置赋值
var strArray = [3]string{"a", "b", "c"}

访问数组

访问数组和java里面的类似,使用数组下标来访问数组中指定的位置:

intArray[1]

strArray[0]

使用循环去轮询访问里面的数据:

// 访问那个int型数组
for i, v := range intArray {
    fmt.Printf()	// 这里直接换一行
	fmt.Printf("index:%d, value:%d", i, v)
    fmt.Println()	// 这里直接换一行
}

// 访问那个string型数组
for i, v := range strArray {
	fmt.Println()
	fmt.Printf("index:%d, value:%s", i, v)
	fmt.Println()
}

整体这样:

import (
	"fmt"
	"testing"
)

// author: mars酱
func Test_arraysInt(t *testing.T) {
	var intArray [3]int
	for i, v := range intArray {
		fmt.Println()
		fmt.Printf("index:%d, value:%d", i, v)
		fmt.Println()
	}
}

func Test_arraysStr(t *testing.T) {
	var strArray = [3]string{"a", "b", "c"}
	for i, v := range strArray {
		fmt.Println()
		fmt.Printf("index:%d, value:%s", i, v)
		fmt.Println()
	}
}

int型数组运行的结果:

因为没有给这个数组赋值,所以默认值为0。

string型数组运行的结果:

初始化N维数组

一维数组了解了,多维数组也容易理解,声明的语法:

var variable_name [size1][size2]...[sizen] variable_type

拿二维数组示例,把二维数组看做成一个xls文件的表格,就是下面的样子:

访问N维数组

访问N维数组也是一样:直接下标访问

variable_name[index1][index2]...[indexn]

示例如下:

// author: mars酱
func Test_multArray(t *testing.T) {
	// 声明二维数组
	multArrays := [2][2]string{}

	// 给二维数组位置添加值
	multArrays[0][0] = "baidu.com"
	multArrays[0][1] = "bing.com"
	multArrays[1][0] = "google.com"
	multArrays[1][1] = "qq.com"

	// 打印结果
	fmt.Println(multArrays)
}

运行后的结果:

最后

先解释数组的目的是Go里面的切片和数组很像,所以搞懂数组可以更好的理解和使用切片和数组