数组应用案例(2)|学习笔记

简介: 快速学习数组应用案例(2)。

开发者学堂课程【GO 语言核心编程-基础语法、数组、切片、Map:数组应用案例(2)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9633


数组应用案例(2)

 

一、数组应用案例及解决方法

数组应用案例

1.创建一个 byte 类型的26个元素的数组,分别放置'A'-Z'。使用 for 循环访问所有元素并打印出来。提示:字符数据运算‘A'+1->'B'

2.请求出一个数组的最大值,并得到对应的下标。

3.请求出一个数组的和和平均值。for-range

//求出数组的和,以及和的平均值

4.细节:

(1)要求使用 for-range

(2)求平均值时需要注意,如果数组是整数,那么在求平均值时,本身是可以精确到小数点的,但是默认情况下返回的可能也是整数,就导致平均值会出现错误。

解:

5.思路

//(1)就是声明一个数组 var intArr[5] = [ ...]int {1,-1,9,90,11}

//(2)求出和 sum

//(3)求出平均值

6.代码

1var intArr2[5]int = [...]int [1,-1,9, 90,12]  

//首先定义一个 int 数组

sum := 0  //定义一个变量默认为0

for _val := range intArr2 {  

//对 intArr2数组进行遍历,要求使用 for-range,此问题中只需要值,而不需要下标,所以使用下划线_将下标返回值忽略

sum+= val

//累计求和

}

fmt.Printf("sum=%v平均值=%v", sum,sum/ len(intArr2))

}

运行效果如下:

sum=110  平均值=22

可以发现总和等于110,没有问题,而平均值为22也没有错误

2要使平均值结果出现一个小数,则需要改一个值:
var intArr[5] = [ ...]int {1,-1,9,90,12}

运行结果如下:

Sum=111  平均值=22

数组和的值为111,没有错误,此处平均值应该为22.2,但运行出来的平均值仍然为22,与实际平均值不匹配,应该保留小数点。

//是因为 sum 是一个整数类型,而 intArr2也是一个整数类型,根据 go 语言的运算规则,当都为 int 类型的时候,结果也会是 int 类型的值。

3如何让平均值保留到小数。

将数据类型进行转换即可:

fmt.Printf("sum=%v平均值=%v", sum,float64(sum)/float64( len

(intArr2)))

需要将类型统一为 float64,否则会报错

注意:go 语言对数据类型的要求是强制转换的,而有些数据类型是有一个默认转换精度的,但是 go 语言的数据类型的转换,没有默认转换的规则。

运行结果如下:

Sum=111 平均值=22.2

可以发现平均值已经保留到小数点,正确。

相关文章
|
弹性计算 运维 Kubernetes
Serverless Developer Meetup 杭州站精彩回顾!【附赠PPT】
Serverless Devs 是一个开源开放的 Serverless 开发者平台,也是业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台,致力于为开发者打造 Serverless 应用开发一站式服务, 帮助解决目前的工具链之困,让开发者一键体验多云产品,极速部署 Serverless 项目。
Serverless Developer Meetup 杭州站精彩回顾!【附赠PPT】
|
网络协议 测试技术 Go
go 设置运行 cpu 数目 | 学习笔记
快速学习 go 设置运行 cpu 数目
|
存储 监控 Unix
|
iOS开发
为什么iPad在连接PC时显示不在充电?
http://www.pcpop.com/doc/0/600/600257.shtml
974 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1102 152