GO语言复合类型02---数组

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\n",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\n",i,array[i])
	}

	//遍历数组2
	//index是下标,value是值
	for index,value := range array{
		fmt.Printf("array[%d]=%v\n",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])
}

  

猜你喜欢

转载自www.cnblogs.com/yunweiqiang/p/11809190.html