![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
文章平均质量分 81
腹黑客
骑最贵的单车,你就是gai上最靓的仔
展开
-
Scala神奇语法2
今天记录下Scala的柯里化语法柯里化(Currying)是指将原先接受多个参数的函数 多个一个参数的多参数列表的过程。让我们先来定义两个函数: // 实现对两个数进行计算的方法 def calc[A <: AnyVal](x:A, y:A, func_calc:(A, A)=>A) = { func_calc(x, y) } // 柯里化:实现对两个数进行计算 def calc_carried[A <: AnyVal](x:A, y:A)(fu原创 2020-05-31 09:33:40 · 112 阅读 · 0 评论 -
Scala的神奇语法
博主接触过Java,Python,C,C++几门主流语言,但今天在学习Scala中又见识到了新奇的地方,是从其他语言没接触过的。特分享出来供大家参考。有关Scala的模式匹配问题,//匹配样例类//scala可以使用模式匹配来匹配样例类,从而可以快速获取样例类中的成员数据。// 定义样例类case class SubmitTask(id: String, name: String)case class HeartBeat(time: Long)case object CheckTime原创 2020-05-30 16:05:58 · 226 阅读 · 0 评论 -
scala 中 与类相关操作
类简单类和无参方法Scala类最简单的形式看上去和Java中的很相似class Counter { private var value = 0 //字段必须初始化 def increment() { //方法默认是公有的 value += 1 } def current() = value}Scala中类并不申明为public。Scala源文件可以包含多个类,所有这些类都具有公有可见性。使用类要做的是构造对象并按照通常的方法来调用方法:val myCounter = new原创 2021-06-29 10:14:34 · 178 阅读 · 0 评论 -
Scala中的映射和元组
映射和元组映射是键值对偶的集合。Scala中通用叫法为元组,n个对象的聚集,这些对象并不一定必须是相同类型的。对偶为一个n=2的元组。构造映射//scala 映射构造val scores = Map("Alice" -> 10,“Bob” -> 3 , "Cindy" -> 8 )这是一个不可变的Map[String,Int],其值不能改变。//创建可变映射val scores = scala.collection.mutable.Map("Alice" -> 10,原创 2021-06-28 09:26:55 · 249 阅读 · 1 评论 -
Scala - 数组相关操作
数组相关操作定长数组不变数组。使用Scala中的Array.val nums = new Array[Int](10) //初始化为0val a = new Array[String](10) //初始化为nullval s = Array("Hello","World") //长度为2的Array[String] - 类型是推断出来的。说明:当已提供初始值时,就不需要new了s(0) = "Goodbye" // 使用()而不是[]来访问元素Jvm中,Scala的Array以Java数组方原创 2021-06-25 14:29:42 · 249 阅读 · 1 评论 -
Scala 中的结构控制和函数
结构控制和函数条件表达式scala中的if/else表达式有值。这个值就是跟在if或else之后的表达式的值。可以将表达式的值进行复制val s = if(x > 0) 1 else -1等同于Java中的三元表达式。x > 0 ? 1 : -1。但不能在 ? : 表达式中插入语句。如果两个分支的类型不同,则会用两个分支类型的公共超类型。比如:if (x > 0) “positive” else -1 。一个String,一个Int。公共超类型是Any如果else部分缺失,原创 2021-06-24 15:18:39 · 204 阅读 · 0 评论 -
Scala中的一些基础
Scala 2.12.x基础"读取-求值-打印"循环(read-eval-print loop),即REPL。变量申明val/var申明变量:val:定义一个常量,无法改变它的内容var:申明一个其值可变的变量常用类型Scala七种数值类型:ByteCharShortIntLongFloatDoubleBooleanScala并不刻意区分基本类型和引用类型。可以对数字执行方法。1.toString() //字符串"1"1.to(10) //Range(1,2,3原创 2021-06-23 10:59:46 · 116 阅读 · 0 评论