视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


数组是相同数据类型的一组数据的集合,数组一旦定义长度不能修改,数组可以通过下标(或者叫索引)来访问元素。

go语言数组的定义

数组定义的语法如下:

var variable_name [SIZE] variable_type

variable_name:数组名称

SIZE:数组长度,必须是常量

variable_type:数组保存元素的类型

实例

package mainimport "fmt"func main() {var a [3]int    // 定义一个int类型的数组a,长度是3var s [2]string // 定义一个字符串类型的数组s,长度是2fmt.Printf("a: %T\n", a)fmt.Printf("s: %T\n", s)
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
a: [3]int
s: [2]string

从上面运行结果,我们可以看出,数组和长度和元素类型共同组成了数组的类型。

go语言数组的初始化

初始化,就是给数组的元素赋值,没有初始化的数组,默认元素值都是零值,布尔类型是false,字符串是空字符串。

没有初始化的数组

实例

package mainimport "fmt"func main() {var a [3]int    // 定义一个int类型的数组a,长度是3var s [2]string // 定义一个字符串类型的数组s,长度是2var b [2]boolfmt.Printf("a: %v\n", a)fmt.Printf("s: %v\n", s)fmt.Printf("b: %v\n", b)
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
a: [0 0 0]
s: [ ]
b: [false false]

使用初始化列表

实例

package mainimport "fmt"func main() {var a = [3]int{1, 2, 3}var s = [2]string{"tom", "kite"}var b = [2]bool{true, false}a1 := [2]int{1, 2} // 类型推断fmt.Printf("a: %v\n", a)fmt.Printf("s: %v\n", s)fmt.Printf("b: %v\n", b)fmt.Printf("a1: %v\n", a1)
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
a: [1 2 3]
s: [tom kite]
b: [true false]
a1: [1 2]

使用初始化列表,就是将值写在大括号里面。

省略数组长度

数组长度可以省略,使用...代替,更加初始化值得数量自动推断,例如:

package mainimport "fmt"func main() {var a = [...]int{1, 2, 3}var s = [...]string{"tom", "kite"}var b = [...]bool{true, false}a1 := [...]int{1, 2} // 类型推断fmt.Printf("a: %v\n", a)fmt.Printf("s: %v\n", s)fmt.Printf("b: %v\n", b)fmt.Printf("a1: %v\n", a1)
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
a: [1 2 3]
s: [tom kite]
b: [true false]
a1: [1 2]

指定索引值的方式来初始化

可以通过指定索引的方式来初始化,未指定索引的默认为零值。

实例

package mainimport "fmt"func main() {var a = [...]int{0: 1, 2: 2}var s = [...]string{1: "tom", 2: "kite"}var b = [...]bool{2: true, 5: false}a1 := [...]int{1, 2} // 类型推断fmt.Printf("a: %v\n", a)fmt.Printf("s: %v\n", s)fmt.Printf("b: %v\n", b)fmt.Printf("a1: %v\n", a1)
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
a: [1 0 2]
s: [ tom kite]
b: [false false true false false false]
a1: [1 2]

Go语言自学系列 | golang数组相关推荐

  1. Go语言自学系列 | golang标准库bufio

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  2. Go语言自学系列 | golang切片的初始化

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  3. Go语言自学系列 | golang for range循环

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  4. Go语言自学系列 | golang中的if语句

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  5. Go语言自学系列 | golang开发工具

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  6. Go语言自学系列 | golang标准库os模块 - File文件读操作

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  7. Go语言自学系列 | golang函数的参数

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  8. Go语言自学系列 | golang函数的返回值

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  9. Go语言自学系列 | golang switch语句

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

最新文章

  1. 7 个漂亮的 JavaScript 的时间轴组件 [转]
  2. 解决Tensorflow 使用时cpu编译不支持警告
  3. 【PAT乙级】1085 PAT单位排行 (25 分)
  4. [转]处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”...
  5. Objective-C MacOS的管理员权限继承
  6. 归档日志存在arch_从MYSQL 数据库归档 到 归档设计
  7. keeko机器人_机器人零距离,创意搭建编程妙趣多!——瑞云社区开展全国科普日活动...
  8. Linux gtk开发教程,使用GTK+和Glade快速开发Linux图形界面
  9. Software--Architecture--SOA Factory
  10. sqlserver为数据库表增加自增字段
  11. MySQL(5)-----DQL语句的基本查询与高级查询
  12. 电力安全工作规程发电厂和变电站电气部分_电气主接线知识精讲!
  13. WLAN 与WIFI的区别?
  14. html 英文艺术字体,生日快乐英文艺术字体
  15. Python实战题 · 计算圆面积
  16. 计量经济学计算机第1章习题,计量经济学第1章习题.pdf
  17. 计算机专业的英文简历范文带翻译,[网络工程师个人英文简历模板]英文简历范文带翻译...
  18. 迷惑,不知何去何从。。。。。
  19. 查看JS代码中\x68等加密数据内容的解决办法
  20. @kubernetes(k8s) 应用配置管理(ConfigMap、subPath、Secret)

热门文章

  1. perf 常见使用方法
  2. 全国计算机等级考试 贴吧,【教】全国计算机等级考试
  3. 奶茶妹贪图刘强东什么
  4. C语言 函数调用方式以及嵌套调用
  5. 想来武汉工作么?---软件人 武汉求职、工作、生活体验报告(1)
  6. ios 应用内支付(In-App Purchase,沙盒测试,后台验证)
  7. 上决╇ф的遗言-后缀数组
  8. idea如何调整字体大小
  9. 如何打开ipynb文件
  10. 卡片笔记太多,回忆不起来?快用人工智能帮你自动找寻关联