Scala
weixin_38858330
这个作者很懒,什么都没留下…
展开
-
Scala match
object Test { def main(args: Array[String]): Unit = { val code = 404 val status = code match{ case 200 => "成功" case 404 => "Not Found" case 500 => "Server Error"...原创 2018-09-12 15:14:17 · 259 阅读 · 0 评论 -
Scala try-catch-finally exception
object Test { def main(args: Array[String]): Unit = { try{ val a = 10/0 }catch { case e:ArithmeticException => println("被除数为0") case e:Exception => println(e.getMess...原创 2018-09-12 15:20:24 · 1937 阅读 · 0 评论 -
Scala 偏函数 partialFunction
object Test { def main(args: Array[String]): Unit = { val names = Array("zhangsan","lisi","wangwu") //随机取出一个人名 val name = names(Random.nextInt(3)) val response = name match { ...原创 2018-09-12 15:34:20 · 161 阅读 · 0 评论 -
Scala implicit 小结 隐式类 隐式函数 隐式值 隐式参数
1. 隐式类 implicit class 丰富一个类的方法object Test { def main(args: Array[String]): Unit = { 100.run 100.marry } implicit class AddFunctionToInt(i:Int){ def run ={ println(s"...原创 2018-09-13 10:22:33 · 127 阅读 · 0 评论 -
Scala 队列 queue
scala>scala> val q = Queue(1,2,3,4,5)q: scala.collection.mutable.Queue[Int] = Queue(1, 2, 3, 4, 5)scala> q.dequeueres32: Int = 1scala> qres33: scala.collection.mutable.Queue[Int]...原创 2018-09-13 10:22:42 · 1704 阅读 · 0 评论 -
Scala stack 栈
scala>scala> import scala.collection.mutable.Stackimport scala.collection.mutable.Stackscala> val stack = Stack(1,2,3)stack: scala.collection.mutable.Stack[Int] = Stack(1, 2, 3)scala...原创 2018-09-13 10:23:03 · 1456 阅读 · 0 评论 -
Scala REPL 命令行相关
1. 通过 :paste 粘贴一段代码执行scala>scala> :paste// Entering paste mode (ctrl-D to finish)val code = 404 val status = code match{ case 200 => "成功" case 404 => "Not Found"...原创 2018-09-13 13:57:39 · 1063 阅读 · 0 评论 -
Scala call by name vs call by value
名词释义:call by name : 不对表达式求值,直接替换 参数格式 :b: =>Intcall by value : 先计算表达式的值,再进行替换 参数格式:a:Int call by name 示例:object Test { def main(args:...原创 2018-09-13 14:32:26 · 170 阅读 · 0 评论 -
Scala 尾递归 @annotation.tailrec
@annotation.tailrec 告诉编译器,下面这个函数是递归的,在栈桢的管理上,希望编译器能所有优化。object Test { def main(args: Array[String]): Unit = { val students: Array[String] = Array("Zhangsan", "Lisi", "Wangwu", "Zhaoliu") ...原创 2018-09-18 17:10:36 · 1616 阅读 · 0 评论 -
Scala 柯里化
object Test { def main(args: Array[String]): Unit = { println(curry_add(1)(2)) } def curry_add(a:Int)(b:Int) :Int={ a+b }}原创 2018-09-18 17:13:45 · 180 阅读 · 0 评论 -
Scala 数据类型 默认值 option some none
1. 默认值scala> var a:Int = _a: Int = 0scala> var b:Float = _b: Float = 0.0scala> var c:Double = _c: Double = 0.0scala> var d:Long = _d: Long = 0scala> var e:Byte = _e: Byt...原创 2018-09-13 14:56:51 · 1900 阅读 · 0 评论 -
Scala Actor 相关 1. 自定义一个Actor 及 Actor 的状态
State of an actor.New - Not yet started Runnable - Executing Suspended - Suspended, waiting in a react TimedSuspended - Suspended, waiting in a reactWithin Blocked - Blocked waiting in a receive...原创 2018-09-14 10:06:06 · 191 阅读 · 0 评论 -
Scala Actor 相关 2. 两个 Actor 之间的交互
scala> scala> import scala.actors.Actorimport scala.actors.Actorscala> :paste// Entering paste mode (ctrl-D to finish)object MasterActor extends Actor{ override def act(): Unit = {...原创 2018-09-14 10:27:30 · 243 阅读 · 0 评论 -
Scala 元组 tuple
object Test { def main(args: Array[String]): Unit = { val host = ("127.0.0.1",8088) println(host._1) println(host._2) }}结果:127.0.0.18088原创 2018-09-12 15:10:05 · 226 阅读 · 0 评论 -
Scala map 字典 some none
object Test { def main(args: Array[String]): Unit = { val student = Map("name"->"zhangsan","age"->18) //遍历 map for((k,v)<- student){ println(k+":"+v) } //遍历 k,根...原创 2018-09-12 15:04:41 · 1142 阅读 · 0 评论 -
Scala List vs ListBuffer
scala>scala> val list = List(1,2,3,4,5)list: List[Int] = List(1, 2, 3, 4, 5)scala> list += 6<console>:14: error: value += is not a member of List[Int] list += 6 ...原创 2018-09-12 14:53:38 · 828 阅读 · 0 评论 -
Hello Scala
Scala 主要用于 Spark、Kafka、Flink Java HelloWorldpublic class HelloWorld { public static void main(String[] args) { System.out.println("Hello Java"); }} Scala HelloWorldobject HelloWorld {...原创 2018-09-11 16:22:56 · 142 阅读 · 0 评论 -
Scala中字符串中嵌入变量
object Test { def main(args: Array[String]): Unit = { val name = "zhangsan" print(s"I have a friend, his name is ${name}.") }}结果:I have a friend, his name is zhangsan.原创 2018-09-11 16:50:12 · 2449 阅读 · 0 评论 -
Scala 多行字符串
object Test { def main(args: Array[String]): Unit = { val poem = """ 床前明月光 疑是地上霜 举头望明月 低头思故乡 """ val multipleLine = """ I...原创 2018-09-11 17:15:41 · 1683 阅读 · 0 评论 -
Scala 字符串字符处理 map & filter
object Test { def main(args: Array[String]): Unit = { val name = "Zhangsan Lisi" val lowerName = name.map(c => c.toLower) val upperName = name.map(_.toUpper) println(lowerName)...原创 2018-09-11 17:36:15 · 1109 阅读 · 0 评论 -
Scala 函数 多个参数
object HelloWorld { def main(args: Array[String]): Unit = { println("Hello Scala") }}基本格式:def 方法名(参数名:参数类型): 返回值类型 = { // 括号内的叫做方法体 // 方法体内的最后一行为返回值,不需要使用return}object FuncAp...原创 2018-09-11 17:54:06 · 1945 阅读 · 0 评论 -
Scala 抽象类
object Test { def main(args: Array[String]): Unit = { val tiger = new Tiger; tiger.eat("meal") tiger.run }}abstract class Animal{ def name:String def age:Int def run:U...原创 2018-09-11 19:17:09 · 103 阅读 · 0 评论 -
Scala caseclass 样例类
object Test { def main(args: Array[String]): Unit = { val tiger = Tiger("zhangsan",19) println(tiger.name) println(tiger.age) }}case class Tiger(name:String,age:Int)结果:zhangsan...原创 2018-09-11 19:25:38 · 417 阅读 · 0 评论 -
Scala 伴生类&伴生对象 apply
object Test { def main(args: Array[String]): Unit = { //Object Student就是一个单例 println(Student.score) //Student() 不是new出来的,会去调用apply方法 val student = Student() student.study() }...原创 2018-09-11 19:48:03 · 342 阅读 · 0 评论 -
Scala 私有属性 set get 方法
object Test { def main(args: Array[String]): Unit = { val student = new Student() student.name = "zhangsan" student.setAge(18) println(student) }}class Student{ var name:Stri...原创 2018-09-11 19:58:56 · 1808 阅读 · 0 评论 -
Scala 构造函数 constructor
object Test { def main(args: Array[String]): Unit = { val man = new Man("zhangsan",18,180) println(man) }}class Man(name:String,age:Int){ var height:Int = _ def this(name:String...原创 2018-09-12 10:40:45 · 639 阅读 · 0 评论 -
Scala lazy val 懒加载
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151).Type in expressions for evaluation. Or try :help.scala> var a=100a: Int = 100scala> var b=10b: Int = 10scala...原创 2018-09-12 11:39:24 · 578 阅读 · 0 评论 -
Scala 集合 之 数组 Array
object Test { def main(args: Array[String]): Unit = { arrayTest } def arrayTest = { //数组初始化 val array = new Array[Int](5) //数组元素赋值 array(0)=100 println(array.length) /...原创 2018-09-12 11:40:07 · 204 阅读 · 0 评论 -
Scala 可变数组 ArrayBuffer
scala>scala> import scala.collection.mutable.ArrayBufferimport scala.collection.mutable.ArrayBufferscala> val numbers = new ArrayBuffer[Int]()numbers: scala.collection.mutable.ArrayBuf...原创 2018-09-12 14:46:29 · 736 阅读 · 0 评论 -
Scala 多线程 Future
object Test { def main(args: Array[String]): Unit = { debug("Starting Main") taskA() taskB() debug("Finished Main") } def taskA(): Unit = { debug("Starting taskA") Thre...原创 2018-09-14 16:11:20 · 756 阅读 · 0 评论