您的位置:首页 > 编程语言 > Go语言

【Go学习笔记】数组

2017-09-30 00:00 246 查看

数组声明

package main

import (
"fmt"
)

func main(){
//定义一个数组
var arr [10] int;
fmt.Println(arr);
}




使用数组字面量声明数组

package main

import (
"fmt"
)

func main(){
array := [5]int{1,2,3,4,5}
fmt.Println(array);
}
//[1 2 3 4 5]

不指定数组长度

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
fmt.Println(array)
}
//[1 2 3 4]

上面[...]表示有go语言自动计算数组长度。

使用数组

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
//修改数组的值
array[2] = 22
fmt.Println(array)
}
//[1 2 22 4]

如果试图给超过数组长度的位置赋值,会出错

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
//修改数组的值
array[21] = 22
fmt.Println(array)
}
//./main.go:10:7: invalid array index 21 (out of bounds for 4-element array)

数组复制

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
array2 := array
fmt.Println(array,array2)
}
//[1 2 3 4] [1 2 3 4]

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
array2 := array;
array2[0] = 10;
fmt.Println(array,array2);
}
//[1 2 3 4] [10 2 3 4]

可以发现,这里更改了arra2中的元素之后,array中的元素并没有改变。

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}
array2 := &array;//注意这里的不同
array2[0] = 10;
fmt.Println(array,array2);
}
//[10 2 3 4] &[10 2 3 4]

上面这段代码,把array的地址赋值给了array2,所以在修稿array2的时候,array一中也会生效。

数组遍历

package main

import (
"fmt"
)

func main(){
array := [...]int{1,2,3,4}

for i:=0;i<len(array);i++{
fmt.Println(array[i])
}
}
/*
1
2
3
4
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go