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

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

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

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

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

1.1、声明数组

  数组的写法如下:

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

  其中:

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

  举个数组的例子吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main
 
import (
    "fmt"
)
 
func main() {
    var team [3]string
    team[0] = "shanghai"
    team[1] = "beijing"
    team[2] = "nanjing"
 
    fmt.Println(team)
}

 

1.2、初始化数组

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

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

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

  比如:

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

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

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

  举个例子吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 @   左扬  阅读(276)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
levels of contents
点击右上角即可分享
微信分享提示