【scala初学】scala 语法 声明

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

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

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, 回顾下代码

object Helloworld {
def main(args:Array[String]) = {
println("hellowold")
}
}

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

var

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

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

var i = 1
i = 1.0

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

var i = 1

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

var i=1
i:Int = 1

 

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

 

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, 如下:

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

 

你可能感兴趣的:(scala,基本类型)