一零一八、记一次var 和 val的区别(偶然发现)

举报
托马斯-酷涛 发表于 2022/07/29 23:43:17 2022/07/29
【摘要】 在一次写scala的过程中,偶然间将 var 写成了 val ,发现报错 var avg = 0.00; if (line(4).contains("万/月")) { val min: Double = line(4).split("-")(0).toDouble val ma...

在一次写scala的过程中,偶然间将 var 写成了 val ,发现报错


  
  1. var avg = 0.00;
  2. if (line(4).contains("万/月")) {
  3. val min: Double = line(4).split("-")(0).toDouble
  4. val max: Double = line(4).split("-")(1).substring(0, line(4).split("-")(1).length - 3).toDouble
  5. avg = (min + max) / 2;
  6. }
  7. (line(1), line(2), line(3), avg, line(5), line(6), line(7), line(8), line(9), line(10))
  8. }).toDF("jobType", "jobName", "city", "salary", "experience", "education", "companyType", "companyName", "jobwelf", "time")

截图如下:

 首先我认为程序没有错误,变量是全局的,数据类型也没有错误,返回值也可以接收到,但变量这里一直是有问题,左思右想,偶然间突然发现 avg的声明 写的是val ,我记着声明是var啊,改成var后,程序健康

 原来var和val是有区别的,才学疏浅,没注意过,又一个知识点学到了,如下:

 

文章来源: tuomasi.blog.csdn.net,作者:托马斯-酷涛,版权归原作者所有,如需转载,请联系作者。

原文链接:tuomasi.blog.csdn.net/article/details/126043455

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。