数组
Go语言中提供了数组支持。
数组声明的形式如下:
var 数组名 [元素数量] 类型
var array [10] int
如果想在声明的同时对数组进行初始化,你可以这么做
var 数组名 = [元素数量] 类型 {元素...}
var array = [5]{1, 2, 3, 4, 5} int
如果你想偷懒,你还可以这么做
var array = [...]{1, 2, 3, 4, 5} int
如果你想使用数组,或给数组元素赋值,可以直接这么做
array[1] = 5
var array1 int = array[1]
多维数组
多维数组的定义形式为
var 数组名 [元素数量1][元素数量2]...[元素数量n] 类型
如果你想访问二维数组,你可以这么做
var := a[1][2]
函数传递数组
在函数参数中传递参数,你可以这么做
func a(param [10]int) void
func a(param []int) void
指针
与C/C++一样,Go语言中也提供了指针。
类似地,&为取址运算符,*为指针。
指针的定义形式如下
var 变量名 *变量类型
var a *int
如果没有给指针定义指向性,指针的值默认为nil。
如果你想定义指针数组,你可以这么做
var 变量名 [元素数量]*变量类型
var a [10]*int
使用时
a1 := *a[1]
或者如果你想定义嵌套指针,即指针指向指针,你可以这么做
var 变量名 **变量类型
var a **int
在函数中指针作为参数传递,可以这么做
func swap(a *int, b *int) void{}