前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十一节 Go语言数组

第十一节 Go语言数组

作者头像
李海彬
发布2018-08-16 15:36:18
3340
发布2018-08-16 15:36:18
举报
文章被收录于专栏:Golang语言社区

干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前已在网易云课堂限时特价分享,希望有兴趣的朋友们多多分享和支持!

以下是Go语言基础、进阶、提高课程--第十一节 Go语言数组的部分文本教案,具体详细视频课程请扫描文章下方图片二维码或点击阅读原文!

Go 语言提供了数组类型的数据结构。

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。

相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展。

数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。

声明数组

Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:

代码语言:javascript
复制
1 var variable_name [SIZE] variable_type

以上为一维数组的定义方式。数组长度必须是整数且大于 0。例如以下定义了数组 balance 长度为 10 类型为 float32:

代码语言:javascript
复制
1 var balance [10] float32

初始化数组

以下演示了数组初始化:

代码语言:javascript
复制
1 var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

初始化数组中 {} 中的元素个数不能大于 [] 中的数字。

如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:

代码语言:javascript
复制
1 var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

该实例与上面的实例是一样的,虽然没有设置数组的大小。

代码语言:javascript
复制
1 balance[4] = 50.0

以上实例读取了第五个元素。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。


访问数组元素

数组元素可以通过索引(位置)来读取。格式为数组名后加中括号,中括号中为索引的值。例如:

代码语言:javascript
复制
1 float32 salary = balance[9]

以上实例读取了数组balance第10个元素的值。

以下演示了数组完整操作(声明、赋值、访问)的实例:

代码语言:javascript
复制
 1 package main
 2 import "fmt"
 3 func main() {
 4   var n [10]int /* n 是一个长度为 10 的数组 */
 5   var i,j int
 6   /* 为数组 n 初始化元素 */         
 7   for i = 0; i < 10; i++ {
 8      n[i] = i + 100 /* 设置元素为 i + 100 */
 9   }
10   /* 输出每个数组元素的值 */
11   for j = 0; j < 10; j++ {
12      fmt.Printf("Element[%d] = %d\n", j, n[j] )
13   }
14 }

以上实例执行结果如下:

代码语言:javascript
复制
 1 Element[0] = 100
 2 Element[1] = 101
 3 Element[2] = 102
 4 Element[3] = 103
 5 Element[4] = 104
 6 Element[5] = 105
 7 Element[6] = 106
 8 Element[7] = 107
 9 Element[8] = 108
10 Element[9] = 109

长按扫描下方二维码或点击阅读原文,即可了解课程详情!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云课堂
云课堂聚焦教培机构 OMO 转型,为机构提供在线及混合式课堂解决方案,极速开课、多向互动、智能沉淀、一键分发,是教培课堂便捷、稳定的教学助手。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档