package main
import “fmt”
func main(){
/*
问题
一个养鸡场有6只鸡,他们的体重分别时3kg,5kg,1kg,3.4kg,2kg,50kg。请问这六只鸡的总体重时多少?平均体重是多少?请你编一个程序。
使用传统方法解决
(1)为什么需要数组
看一个问题
一个养鸡场有6只鸡,他们的体重分别时3kg,5kg,1kg,3.4kg,2kg,50kg。请问这六只鸡的总体重时多少?平均体重是多少?请编一个程序。=》数组
//思路分析:定义六个变量,分别表示六只鸡的体重,然后求出和,然后求出平均值。
hen1 := 3.0
hen1 := 5.0
hen1 := 1.0
hen1 := 3.4
hen1 := 2
hen1 := 50
totalWeight := hen1 + hen2 +hen3+hen4 +hen5+hen6
//fmt.Sprintf("%.2f",totalWeight/6)将totalWeight/6四舍五入保留到小数点2返回值
avgWeight = fmt.Sprintf("%.2f",totalWeight/6)//直接保留到小数点2位
fmt.Printf("totalWeight=%v avgWeight=%.2f",totalWeight,avgWeight)
使用传统的方法来解决
对上面代码的说明
1)使用传统的方法不利于数据的管理和维护.
2)传统的方法不够灵活,因此我们引出需要学习的新的数据类型=》数组
数组与切片
*/
//数组可以存放多个同一类型数据。数组也是一种数据类型在Go中,数组是值类型。
//数组快速入门
//比如,我们可以用数组来解决上一个问题
//思路分析:定义六个变量,分别表示六只鸡的体重,然后求出和,然后求出平均值。
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)//直接保留到小数点2位
fmt.Printf("totalWeight=%v avgWeight=%.2f",totalWeight,avgWeight)
//使用数组的方式来解决问题
//1.定义一个数组
var hens [6]float64;
//2.给数组的每个元素赋值,元素的下标是从0开始的
hens[0] = 3.0 //hens数组的第一个元素hens[0]
hens[1] = 5.0 //hens数组的第一个元素hens[1]
hens[2] = 1.0 //
hens[3] = 3.4 //
hens[4] = 2.0 //
hens[5] = 50.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)
//对上面代码的总结
//1)使用数组来解决问题.程序的可维护性增加
//2)而且方法代码更加清晰,也容易拓展。
}