一零一八、记一次var 和 val的区别(偶然发现)
        【摘要】 
                     
 在一次写scala的过程中,偶然间将 var 写成了 val ,发现报错 
 
var avg = 0.00;      if (line(4).contains("万/月")) {        val min: Double = line(4).split("-")(0).toDouble        val ma...
    
    
    
    在一次写scala的过程中,偶然间将 var 写成了 val ,发现报错
  
   - 
    
     
    
    
     
      var avg = 0.00;
     
    
 
   - 
    
     
    
    
           if (line(4).contains("万/月")) {
     
    
 
   - 
    
     
    
    
             val min: Double = line(4).split("-")(0).toDouble
     
    
 
   - 
    
     
    
    
             val max: Double = line(4).split("-")(1).substring(0, line(4).split("-")(1).length - 3).toDouble
     
    
 
   - 
    
     
    
    
     
              avg = (min + max) / 2;
     
    
 
   - 
    
     
    
    
     
            }
     
    
 
   - 
    
     
    
    
     
            (line(1), line(2), line(3), avg, line(5), line(6), line(7), line(8), line(9), line(10))
     
    
 
   - 
    
     
    
    
     
          }).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)