1.array的定义
- 定义数组的格式:
var a[4]int //元素自动初始化为零
a := [...]int{19:1} //编译器按照初始化值数量确定数组长度
a := [5]int{1,2} //未提供初始值的元素自动初始化为零
数组长度也是类型的一部分,因此具有不同长度的数组为不同类型
数组在go中为值类型
2.数组指针和指针数组
//数组指针是指获取数组变量的地址。
//此时变量p就是指向数组的指针。特别注意p定义的类型为长度为100的数组的指针。 长度必须相等才能赋值。
func main() {
var a = [...]int{99:1}
var p *[100]int = &a
fmt.Println(p)
}
//指针数组是指元素为指针类型的数组
func main() {
var x, y = 2, 3
var a = [...]*int{&x, &y}
fmt.Println(a)
}
3.数组之间的比较
数组之间可以使用==或!=进行比较,但不可以使用<或>
//数组类型必须相同才能比较
func main() {
a := [2]int{1,2}
b := [2]int{1,3}
fmt.Println(a == b)
}
4.使用new创建数组,此方法返回一个数组指针
func main() {
p := new([10]int)
fmt.Println(p)
}
5.多维数组
func main() {
a := [2][3]int{
{1,2,3},
{4,5,6}
}
b := [2][3]int{
{1:1},
{2:2}
}
c := [...][3]int{
{1:1},
{2:2}
}
}
有疑问加站长微信联系(非本文作者)