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)
}