有时候,我们想在程序中多存储一些数据的内容,用我们前面学的知识知道,我们可以创建多个变量来接收这些数据,然后去对这些数据进行特定的操作。
func
但是,Go语言提供了叫做 "数组" 的东西,让我们不用定义多个变量,就可以多存储一些数据内容
什么是数组?
数组存储的是同等类型的元素,这些元素在内存中的位置是连续的
数组的定义
var
0 =< 需要初始化值的个数(最后面括号中的值1,值2这些) <= 存储的长度
未初始化变量数组的默认值
package
输出
[0
数组是值传递还是引用传递
package
输出
[1
从输出可以看出,数组是值传递(跟其它语言不一样,比如Java),而不是引用传递
怎么把数据传进去之后,修改里面的值?
package
输出
[1
只要在其它函数中接收的参数中定义一个数组指针,然后我们传递一个地址过去就可以修改数组中的值了
什么是指针数组?什么是数组指针?
[长度
输出
[<nil>
在这里,a是指针数组,test(b *[1]int)中的参数是数组指针
数组指针和指针数组怎么分辨?
我是这样分辨的,把 [] 和 变量类型切开来看,也就是以下这样
[长度
不指定长度的数组
[...
... 是必须的,然后长度根据有多少个元素而定
package
二维数组
二维数组的定义
指定长度的二维数组
[长度
不指定长度的二维数组
[长度
例子
package
输出
[[
第一个 [ 长度 ]表示里面有多少行,第二个 [ 长度 ]表示有多少列,如下图
因为第3行没有初始化,所以是默认值0
欢迎大家关注下个人的「公众号」:独醉贪欢