golang数组的简单使用及一些细节
package main import "fmt" func main() { //现在有六只鸡,统计他们的总体重并求出平均体重 //弊端,假如很多鸡则需定义很多变量 hen1 := 3.0 hen2 := 5.0 hen3 := 1.0 hen4 := 3.4 hen5 := 2.0 hen6 := 50.0 totalWeight := hen1 + hen2 + hen3 + hen4 + hen5 + hen6 fmt.Println("总重量为 ", totalWeight) //将totalWeight/6四舍五入保留到小数点后两位返回给avgWeight avgWeight := fmt.Sprintf("%.2f", totalWeight/6) fmt.Println("平均重量为 ", avgWeight) //定义一个数组 var hens [6]float64 //赋值 hens[0] = 3.0 hens[1] = 5.0 hens[2] = 1.0 hens[3] = 3.4 hens[4] = 2.0 hens[5] = 50.0 //遍历求总体重 totalWeight2 := 0.0 for i := 0; i < len(hens); i++ { totalWeight2 = totalWeight2 + hens[i] } avgWeight2 := fmt.Sprintf("%.2f", totalWeight2/float64(len(hens))) fmt.Println("平均体重为 ", avgWeight2) fmt.Println("总体重为 ", totalWeight2) var intArr [3]int //int占8个字节 //当定义完数组后,数组各个元素的默认值为0 fmt.Println(intArr) //数组首地址和第一个元素首地址一样,后面每个元素地址为上个元素地址+数组类型所占用字节数 fmt.Printf("intArr的地址为%p, intArr[0]的地址为%p, intArr[1]的地址为%p, intArr[1]的地址为%p\n", &intArr, &intArr[0], &intArr[1], &intArr[2]) //数组初始化的四种方式 var numsArray01 [3]int = [3]int{1, 2, 3} var numsArray02 = [3]int{4, 5, 6} var numsArray03 = [...]int{7, 8, 9} var names = [3]string{1: "tom", 0: "jack", 2: "marry"} //可以指定元素下标 fmt.Println(numsArray01) fmt.Println(numsArray02) fmt.Println(numsArray03) fmt.Println(names) }