F#教程:不变性 - 面向对象网 f# 学习 对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > OOP语言 > F# > 正文

F#教程:不变性

来源: www.bianceng.cn 阅读:

目前为止我们还一直避免的话题就是F#中必须注意的:变量无法再被赋值。

let x = 10
let y = 5
let x = x + y // Compile Error

一旦变量赋值以后,再次赋值就会出现错误。

F#的变量为什么要有不变性呢?

习惯了目前一些变量是可变的过程语言和面向对象语言,可能就会有变量不可变的话是否可以很好编码的疑问。

这样也就无法写i++以及i += 2之类的增量处理。

去年稍微接触了下Haskell,尽管全部变量都是不变的,但还是可以很好地编码。F#也吸收了 Haskell的想法。

不过,F#中有一个mutable的关键字。看来是可以同时处理不变的和可变的变量。关于这些,我想以后想去调查下。

Tags:
相关文章列表: