标签:i++ 组类型 内存 printf 位置 最大的 ++ 变量 不能
声明格式: var 变量名 [数组长度] 变量类型,例如: var array [5] int
数组是具有相同 唯一类型 的一组已编号且长度固定的数据项序列;
数组属于值类型,作为参数传递时会拷贝整个数组的内存;
数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的;一个变量不能先后指向不同类型的数组;
package main import "fmt" func main() { // 声明数组及其长度 var array [5]int // 初始化数组 for i := 0; i < 5; i++ { array[i]=i } // array length = 5,value is [1 2 3 4 5] fmt.Printf("array length = %d,value is %v \n",len(array),array) // 声明并初始化数组,声明长度 var array2 = [3]int{1,2,3} // array2 length = 3,value is [1 2 3] fmt.Printf("array2 length = %d,value is %v \n",len(array2),array2) // 声明并初始化部分数组,声明长度 var array3 = [5]int{1,2,3} // array3 length = 5,value is [1 2 3 0 0] fmt.Printf("array3 length = %d,value is %v \n",len(array3),array3) // 声明并初始化数组,长度由元素个数确定数组长度 var array4 = [...]int{1,2,3} // array4 length = 3,value is [1 2 3] fmt.Printf("array4 length = %d,value is %v \n",len(array4),array4) // 声明并初始化数组指定位置的元素,声明长度 var array5 = [5]int{1:2,3:4} // array5 length = 5,value is [0 2 0 4 0] fmt.Printf("array5 length = %d,value is %v \n",len(array5),array5) // 声明并初始化数组指定位置的元素,长度根据最大的位置确定 var array6 = [...]int{1:2,3:4} // array6 length = 4,value is [0 2 0 4] fmt.Printf("array6 length = %d,value is %v \n",len(array6),array6) }
声明数组的变量类型为一个空接口(类似Java中的 Object)时,这个数组就可以存储任意类型的值;
func arrayInterface() { type any interface { } var array [5] any array[0] = 0 array[1] = "1" array[2] = 2.0 // 输出:array length = 5,value is [0 1 2 <nil> <nil>] fmt.Printf("array length = %d,value is %v \n",len(array),array) }
标签:i++ 组类型 内存 printf 位置 最大的 ++ 变量 不能
原文地址:https://www.cnblogs.com/virgosnail/p/12932527.html