前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scala简单入门之变量

Scala简单入门之变量

作者头像
哒呵呵
发布2018-12-14 16:39:01
4100
发布2018-12-14 16:39:01
举报

Scala是一门神奇的语言,作为一个JVM上的编译型语言,它居然有着自己的解释器(Java其实也有)。例如在shell上面输入scala就会进入下面的页面:

$ scala
Welcome to Scala version 2.10.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_121).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

除了可以使用界面直接和Scala交互,也可以在文本编辑器写下Scala的代码,无需编译直接运行。如果是正式的项目,也可以打包成相应的jar包运行。

既然是入门,先回到Scala的交互页面,简单输入几个基本代码习惯一下。

scala> 1 + 1
res0: Int = 2

scala> println("Hello World!")
Hello World!

接下来,继续看看Scala如何定义变量?

如果之前你熟悉Java的话,定义一个变量必定需要制定这个变量对应的类型,例如:

String a = "Hello World!";

此时变量a是String类型,全称是java.lang.String。而在Scala中,得益于类型推断,无需指定变量的类型,Scala会根据输入的值自动判断出变量对应的类型。

scala> val a = "Hello World!"
a: String = Hello World!

当然,如果不嫌麻烦的话,也是可以写全:

scala> val a: String = "Hello World!"
a: String = Hello World!

这一切取决于你,而这就是Scalable,Scala的奇妙之处。

在上面定义变量时,既然不需要指定变量类型,为何还需要写上一个val呢?像Python那样直接输入:

a = "Hello World!"

岂不更好?Scala作为一门多范式的语言,考虑到了这点,使用val代指的是不可变的变量,也就是说,一旦赋值不可更改。

scala> a = "Hello!"
<console>:8: error: reassignment to val
       a = "Hello!"

当再给变量a复制"Hello!"时,Scala报错了。如果需要可变的变量,则需要将val改成var。

scala> var a: String = "Hello World!"
a: String = Hello World!

scala> a = "Hello!"
a: String = Hello!

不可变的变量对于新接触函数式编程的人会产生极大的不适应,但是不可变的变量会使得程序变得很容易推导和可复用(具体可以阅读:http://www.defmacro.org/2006/06/19/fp.html)。想必对于val和var的抉择,更多了一丝好奇吧。

现在对于Scala的变量的介绍就到这里了,当然,如果光写变量和一大堆表达式是没啥意义,在接下的篇章会介绍Scala的函数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档