go语言之数组
1、go语言的数组和python的列表不一样,python的列表没有限定类型,而go的数组限定的类型,理由是这样的,请看下面的图
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。2、go语言的数组
package main
import "fmt"
//go语言的数组类似python中的列表
//申明数组
//var 数组名[数组长度] 数组类型
//数组的长度定好之后不能修改
//go语言的数组定义了类型,就只能存储这种类型,不能存储其他类型
func main() {
//首先定义一个一维数组
//定义一个int类型的数组
var arr1 [5] int
//申明加赋值数组
arr2 := [5]int{1,2,3,4,5}
//可以省略大小
arr3 := [...]int{1,2,3,4,5}
arr4 := [10]int{1,2,3,4,5}
fmt.Println(arr1,arr2,arr3,arr4)
//[0 0 0 0 0] [1 2 3 4 5] [1 2 3 4 5] [1 2 3 4 5 0 0 0 0 0]
//定义一个二维数组,四行五列的数组,一般也用的比较少
var grid [4][5] int
fmt.Println(grid)
//[[0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0]]
//数据的遍历,一个for一个range
//方式1
for i :=0;i < len(arr3);i++{
fmt.Println(i,arr3[i])
}
//方式2
for i := range arr3 {
fmt.Println(i,arr3[i])
}
for i,v := range arr3 {
fmt.Println(i,v)
}
}
3、go语言的数组是值类型,不是引用
package main
import "fmt"
func printArr(arr [5]int) {
arr[0] = 100
fmt.Println(arr)
}
func main() {
//var arr1 [5] int
//printArr(arr1)
//[100 0 0 0 0]
//fmt.Println(arr1)
//[0 0 0 0 0]
//报错
//arr2 := [3]int{1,2,3}
//printArr(arr2)
// .\test20.go:23:10: cannot use arr2 (type [3]int) as type [5]int in argument to printAr
arr3 := [...]int{1,2,3,4,5}
printArr(arr3)
//[100 2 3 4 5]
fmt.Println(arr3)
//[1 2 3 4 5]
}
更多精彩

