Scala的var,val
2016-07-24 21:56
162 查看
其实就是变量和常量的区别,之所以在这种函数式编程语言里,要求大家尽量使用val(常量),少使用var(变量),其中一个很重要的原因是多线程中并发访问中的读写一致性原因。对于变量来说,因为值可以被其它逻辑修改,就存在读写一致性问题,如果读写一致性会影响业务逻辑,就需要增加这种额外的代码来维持这种读写一致性。而对于常量来说,由于不能修改,所以就不存在读写一致性的问题。
在编程中,变量的这种可修改性其实是增加了代码逻辑的复杂性,比如一个变量A,如果在其作用域内,有很多逻辑都会读写这个变量,你就很难确定A的值。如果是存在并发访问的情况就更复杂了。所以为了使得代码逻辑简单,应该多使用常量而不是变量来进行编程。
在编程中,变量的这种可修改性其实是增加了代码逻辑的复杂性,比如一个变量A,如果在其作用域内,有很多逻辑都会读写这个变量,你就很难确定A的值。如果是存在并发访问的情况就更复杂了。所以为了使得代码逻辑简单,应该多使用常量而不是变量来进行编程。
相关文章推荐
- javaweb回顾第六篇谈一谈Servlet线程安全问题
- ReLU 和sigmoid 函数对比
- iPhone白苹果怎么办?白苹果各种解决办法方法
- 【Codeforces 604A】Uncowed Forces
- 个性水彩人像效果
- 【学习笔记】让一个块级元素上下左右居中 ps:初学者求轻虐
- 【源码】LinkedHashMap源码剖析
- [bzoj1369][Baltic2003]Gem(树上dp)
- linux安装yum源
- CSDN博客常见问题
- Codeforces Round #131 (Div. 1) B. Numbers dp
- Chrome 控制台console的用法
- Chromium Embedded Framework 中文文档(简介)
- C#枚举和结构体
- 在MacBook Pro上装Mac和Linux双系统
- 游戏资源的制作和下载
- UNITY在SCENE窗口获取鼠标点击事件
- HDU 1387 Team Queue
- const详谈
- 计算机科学导论学习笔记