在一次写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是有区别的,才学疏浅,没注意过,又一个知识点学到了,如下: