Scala Tuple(元组)  

元组与数组类似,但是数组中所有的元素必须是同一种类型,而元组则可以包含不同类型的元素 1. 定义 object TupleApp extends App { val tuple = (1,"vilay") println(tuple) } 2. 模式匹配 object TupleApp extends App { val tuple = (1,"vilay") // println(tuple) val (a,b) = tuple println(a) p

Posted:2020-03-08  By vilay

Scala Map(映射)  

Map(映射)是一种可迭代的键值对(key/value)结构。 所有的值都可以通过键来获取。 Map 中的键都是唯一的。 1. 申明 object MapApp extends App { //不可变map //初始化 // val scoremap = Map("name"->"vilay","age"->"20") // var scoremap1 = Map(("name",&q

Posted:2020-03-08  By vilay

Scala Set 集  

Set 是不重复元素的集合。分为可变 Set 和不可变 Set 1. 可变的set object SetApp extends App { //可变的set val mutableSet = new collection.mutable.HashSet[Int] mutableSet.add(1) mutableSet.add(2) mutableSet.add(3) mutableSet.add(3) mutableSet.add(4) // println(mutableSet) //Has

Posted:2020-03-07  By vilay

Scala List 高级操作  

1. 高级操作 //map 是对 List 中每一个元素执行指定操作 // var list = List(3,6,8) // var result = list.map(_+10) // println(result) //List(13, 16, 18) //flatMap flatMap 与 map 类似,但如果 List 中的元素还是 List,则会对其进行 flatten 操作 //foreach 要求右侧的操作是一个返回值为 Unit 的函数,你也可以简单理解为执行一段没有返回值代码

Posted:2020-03-07  By vilay

Scala 列表(List)  

1. List List 是 Scala 中非常重要的一个数据结构,其与 Array(数组) 非常类似,但是 List 是不可变的. var list = List("vilay","zz") println(list(0)) 由于List是不可变的,所以不能重新赋值 list(0) = "zzzz" //会报错 2. List的特性 同构 (homogeneous):同一个 List 中的所有元素都必须是相同的类型; 协变 (cova

Posted:2020-03-05  By vilay

Scala 数组  

1. 定长数组 var nums = new Array[Int](10) //nums: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) var strings = new Array[String](5) //strings: Array[String] = Array(null, null, null, null, null) var arr = Array("hello","vilay") //ar

Posted:2020-03-01  By vilay

Scala 流程控制  

1. if if/ese 语法和其他语言差不多,但是scala的if有返回值 object ScalaApp extends App { val x = "scala" val result = if (x.length == 5) "true" else "false" println(result) } 2. 代码块 使用 {} 块包含一系列表达式,块中最后一个表达式的值就是块的值 object ScalaApp extends A

Posted:2020-02-29  By vilay

Scala 基本语法  

Scala 基本语法 1. 大小写敏感 ,Hello和hell是不同的 2. 对于所有的类名的第一个字母要大写,多个单词,首字母大写 3. 方法名 所有的方法名称的第一个字母用小写,多个单词拼接,首字母大写 eg. def funcName() 4. 程序文件名 程序文件的名称应该与对象名称完全匹配(新版本不需要,但建议保留) 5. def main(args: Array[String]) 函数从main方法处理的,这边要注意main的参数 还有新版本的语法问题 main 旧的以及新的 def

Posted:2020-02-29  By vilay

Scala 程序入口  

Scala 的程序入口,类似于Go,Python 的main()方法,Scala也有类似的动作 Scala 有两种方式 1. main方法 object Test { def main(args: Array[String]): Unit = println("Hello vilay") } 执行脚本 scala Test.scala 就会有输出 Hello vilay 2. 继承App object Test extends App { var x = 15 println

Posted:2020-02-29  By vilay