数组定义
var 数组变量名 [元素数量]T
比如:var a [5]int , 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 [5]int 和[10]int 是不同的类型。
数组可以通过下标进行访问,下标是从0 开始,最后一个元素下标是:len-1 ,访问越界(下标在合法范围之外),则触发访问越界,会panic。
数组练习题
/*
@Time : 2020-03-12 11:53
@Author : ianthony
@File : main
@Software: GoLand
*/
package main
import "fmt"
func main() {
// 初始化数组 方法一
var a1 [5]int
a1 = [5]int{1, 2, 3, 4, 5}
fmt.Println(a1)
// 初始化数组 方法二
a2 := [...]int{1, 2, 3, 4, 5}
fmt.Println(a2)
a3 := [...]string{"1", "1", "1", "1", "1", "1", "1", "1", "1", "1",}
fmt.Println(len(a3), a3)
// 指定数组中索引的数值
a4 := [20]int{0: 1, 19: 19}
fmt.Println(a4)
// 遍历数组 方法一
var a5 = [...]string{"北京", "上海", "深圳"}
for i := 0; i < len(a5); i++ {
fmt.Println(a5[i])
}
// 遍历数组 方法二
for k, v := range a5 {
fmt.Println(k, v)
}
// 遍历多维数组
a6 := [3][2]string{
{"北京", "上海"},
{"广州", "深圳"},
{"成都", "重庆"},
}
for _, v1 := range a6 {
for _, v2 := range v1 {
fmt.Printf("%s\t", v2)
}
fmt.Println()
}
// 遍历多维数组
a7 := [...]int{7, 8, 9}
fmt.Println(a7)
a8 := [3][2]int{
{1, 2},
{11, 22},
{111, 222},
}
fmt.Println(a8)
for _,V1 :=range a8{
for _,V2 := range V1{
fmt.Printf("%d\t",V2)
}
fmt.Println()
}
// 计算数组中所有元素的和
num :=0
a9 :=[...]int{1,3,5,7,8}
for _,v3:=range a9{
num +=v3
}
fmt.Println(num)
// 求数组中和为8元素的索引是什么
var a10 = [5]int{1, 3, 5, 7, 8}
for i:=0;i<len(a10);i++{
for j:=0;j<len(a10);j++{
if a10[i] + a10[j] == 8{
fmt.Println(i,j)
}
}
}
}
|
请发表评论