Go从入门到精通——数组(固定大小的连续空间)

数组(固定大小的连续空间)

  数组是一段固定长度的连续内存区域。

  在 Go 语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。

Go 语言中的数组概念和 C 语言的数组概念完全一致。C 语言的数组也是一段固定长度的内存区域,数组的大小在声明时固定下来。

1.1、声明数组

  数组的写法如下:

var 数组变量名 [元素数量] T

  其中:

  • 数组变量名:数组声明及使用时的变量名。
  • 元素数量:数组的元素数量。可以是一个表达式,但最终通过编译器计算的结果必须是整型数值。也就是说,元素数量不能含有到运行时才能确认大小的数值。
  • T:可以是任意基本类型,包括 T 为数组本身。但类型为数组本身时,可以实现多位数组。

  举个数组的例子吧

package main

import (
	"fmt"
)

func main() {
	var team [3]string
	team[0] = "shanghai"
	team[1] = "beijing"
	team[2] = "nanjing"

	fmt.Println(team)
}

 

1.2、初始化数组

  数组可以在声明时使用初始化列表进行元素设置:

var team1 = [3]string{ "上海", "北京", "南京"}

  这种声明方式有个注意点,需要保证大括号后面的元素数量与数组的大小一致。但一般情况下,这个过程可以交给编译器,让编译器在编译时,根据元素的个数确定数组大小。

  比如:

var team = [...]string{"上海", "北京", "南京"}

  " ... " 表示让编译器确定数组大小。上面的例子中,编译器会自动为这个数组设置元素个数为 3 。

1.3、遍历数组——访问每一个数值元素

  举个例子吧。

package main

import "fmt"

func main() {

	var team [3]string
	team[0] = "上海"
	team[1] = "北京"
	team[2] = "南京"

	for k, v := range team {
		fmt.Println(k, v)
	}
}

  代码输出如下:

posted @ 2022-02-12 19:09  左扬  阅读(273)  评论(0编辑  收藏  举报
levels of contents