【一 Go 到底】第二十七天 --- 数组注意事项及细节
一、注意事项和细节
数组是多个相同类型数据的组合,,一个数组一旦声明/定义了,其长度是固定的,不能动态变化。详见细节一(2.1)
var arr [int] 这时 arr 就是一个 slice 切片
数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用。
数组创建后,如果没有赋值,有默认值。详见细节二(2.2)
数值类型数组:默认值为 0
字符串数组: 默认值为 ""
bool 数组: 默认值为 false
使用数组的步骤
声明数组并开辟空间
给数组各个元素赋值 3 使用数组
数组的下标是从 0 开始的。
数组下标必须在指定范围内使用,否则报 panic: 数组越界,比如 var arr [5]int 则有效下标为 0-4
Go 的数组属于值类型,在默认情况下是值传递,因此会进行值拷贝。数组间不会相互影响
如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式) 。详见细节三(2.3)
长度
是数组类型的一部分,在传递函数参数时,需要考虑数组长度,不同数组长度不能传递。详见细节四(2.4)
二、案例演示
2.1 细节一
复制代码
2.2 细节二
复制代码
2.3 细节三
复制代码
2.4 细节四
2.4.1 错误一
复制代码
2.4.2 正确案例
复制代码
版权声明: 本文为 InfoQ 作者【指剑】的原创文章。
原文链接:【http://xie.infoq.cn/article/c4ac693ec7f811fb8f7fa0191】。文章转载请联系作者。
评论