【scala初学】scala 语法 声明

简介:

我一般学习一门语言,大多一天能写个简单小功能。 至今遇到两个语言把我吓到了,一个是汇编,一个就是这个货,scala.

    看spark源码是怎么把我逼疯的。

1
2
3
4
5
6
7
8
9
10
11
12
protected  lazy val baseExpression: PackratParser[Expression] =
expression ~  "["  ~  expression <~  "]"  ^^ {
case  base ~ _ ~ ordinal => GetItem(base, ordinal)
} |
TRUE ^^^ Literal( true , BooleanType) |
FALSE ^^^ Literal( false , BooleanType) |
cast |
"("  ~> expression <~  ")"  |
function  |
"-"  ~> literal ^^ UnaryMinus |
ident ^^ UnresolvedAttribute |
"*"  ^^^ Star(None) |

 

这飘逸的手法。。

 

    我上一章写了hello world, 回顾下代码

1
2
3
4
5
object Helloworld {
def main(args: Array [ String ]) = {
println( "hellowold" )
}
}

为了一个(作为java程序员的)良好的习惯,我还是用main函数。然后我们学会第一个利器:

var

1
2
3
4
var  i =  1 ;
var  j =  ""
var  m =  1.0
var  n = List( 1 , 2 );

你会发现scala 非常像动态语言,自动识别类型,但是做个简单测试

1
2
var  i =  1
i =  1.0

如果是弱语言会正常编译运行,但是如果是强语言,会出现编译错误。 所以实际上在你声明

1
var  i =  1

的时候,已经被转译成了Int。 如果你在交互式窗口就能看到

1
2
var  i= 1
i:Int =  1

 

所以我在文章最开始定义的四种类型的完全写法是:

 

1
2
3
4
5
var  i:Int =  1
var  j: String  ""
var  m: Double =  1.0
var  m1 : Float =  1 .0f
var  n : List[Int] = List( 1 , 2 )

 

最后补充一下常识:

scala支持的是java的八种基本类型

 

打印一下 i, 如下:

1
2
3
4
5
6
object Helloworld {
def main(args: Array [ String ]) = {
var  i : Int =  1 ;
println(i)
}
}









本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1412361,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
大数据 Scala
大数据生态思维导图____2021最新最全Scala语法思维导图!(待更新)
大数据生态思维导图____2021最新最全Scala语法思维导图!(待更新)
44 0
|
Java Scala C++
Scala选择和循环语法
Scala选择和循环语法
51 0
|
分布式计算 Java Scala
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
192 0
一天学完spark的Scala基础语法教程十二、异常处理(idea版本)
|
NoSQL Java Scala
Swift和Scala语法上的诸多相似之处
国外开发者最近发现,WWDC2014上苹果发布的新语言Swift,和古老的Scala语言在语法上存在众多的相似之处。
236 0
Swift和Scala语法上的诸多相似之处
|
Java Scala
Scala语法详解:特质 (Traits)
Scala语法详解:特质 (Traits)
123 0
|
Java 程序员 Scala
Java 程序员必备scala基础语法
Java 程序员必备scala基础语法
77 0