package main
import "fmt"
/*
固定长度、固定类型的数据容器
*/
/*数组的声明*/
func main031() {
//var array [5]int = [5]int{3, 1, 4}//[3 1 4 0 0]
//var array = [5]int{3, 1, 4}//[3 1 4 0 0]
//array := [5]int{3, 1, 4}
array := [...]int{3, 1, 4, 1, 5, 9, 2, 6}
fmt.Printf("array的类型是%T,值是%v
",array,array)//[8]int [3 1 4 1 5 9 2 6]
}
/*数组的访问*/
func main() {
//创建数组
array := [...]int{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8}
fmt.Println(array) //[3 1 4 1 5 9 2 6 5 3 5 8]
//获得数组的长度
//通过內建函数len(x)得到数组的长度
fmt.Println("数组的长度是", len(array)) //12
//根据下标对元素进行访问
fmt.Println("数组的第一个元素是", array[0]) //3
fmt.Println("数组的第六个元素是", array[5]) //9
array[0] = 333
fmt.Println("数组的第一个元素是", array[0]) //333
////下标越界错误:index out of range
//mylen := 20 + 30
////程序惨死在这一行
//fmt.Println("第50个元素是", array[mylen])
fmt.Println("程序执行到此处可以领取女朋友一个")
//遍历数组1
for i := 0; i < len(array); i++ {
fmt.Printf("数组的第%d个元素是%d
",i,array[i])
}
//遍历数组2
//index是下标,value是值
for index,value := range array{
fmt.Printf("array[%d]=%v
",index,value)
}
}
/*二维数组*/
func main033() {
var arr [3][4]int
arr[0] = [4]int{1,2,3,4}
arr[1] = [4]int{5,6,7,8}
arr[2] = [4]int{9,10,11,12}
for i,x := range arr{
fmt.Println(i,x)
}
fmt.Println((arr[1])[2])
fmt.Println(arr[1][2])
}