一 数组的引入
1 养鸡场问题
一个养鸡场有 6 只鸡,它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平均体重是多少? 请编一个程序。
2 使用传统的方法来解决
a 代码
package main
import (
"fmt"
)
func main() {
/*
一个养鸡场有6只鸡,它们的体重分别是3kg,5kg,1kg,
3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平
均体重是多少? 请你编一个程序。=》数组
*/
// 思路分析:定义六个变量,分别表示六只鸡的,然后求出和,然后求出平均值。
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.Sprintf("%.2f", totalWeight / 6) 将 totalWeight / 6 四舍五入保留到小数点2,然后返回
avgWeight := fmt.Sprintf("%.2f", totalWeight / 6)
fmt.Printf("totalWeight=%v avgWeight=%v\n", totalWeight, avgWeight)
}
b 测试
totalWeight=64.4 avgWeight=10.73
c 说明
-
使用传统的方法不利于数据的管理和维护。
-
传统的方法不够灵活,因此我们引出新的数据类型数组。
二 数组的介绍
数组可以存放多个同一类型数据。数组也是一种数据类型,在 Go 中,数组是值类型。
三 数组的快速入门
使用数组的方法来解决养鸡场的问题.
a 代码
package main
import "fmt"
func main() {
// 使用数组的方式来解决问题
// 1 定义一个数组
var hens [7]float64
// 2 给数组的每个元素赋值,元素的下标是从0开始的0-5
hens[0] = 3.0 // hens数组的第1个元素 hens[0]
hens[1] = 5.0 // hens数组的第2个元素 hens[1]
hens[2] = 1.0
hens[3] = 3.4
hens[4] = 2.0
hens[5] = 50.0
hens[6] = 150.0 //增加一只鸡
// 3 遍历数组求出总体重
totalWeight2 := 0.0
for i := 0; i < len(hens); i++ {
totalWeight2 += hens[i]
}
// 4 求出平均体重
avgWeight2 := fmt.Sprintf("%.2f", totalWeight2 / float64(len(hens)))
fmt.Printf("totalWeight2=%v avgWeight2=%v", totalWeight2, avgWeight2)
}
b 测试
totalWeight2=214.4 avgWeight2=30.63
c 说明
-
使用数组来解决问题,程序的可维护性增加。
-
方法代码更加清晰,也容易扩展。