![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
0的幂方
分享个人经验,经历,共同进步
展开
-
Scala 学习(10)之「集合 」
数组定长数组Array:采用()访问,而不是[],下标从 0 开始。val array1 = new Array[String](5) //创建数组println(array1) //返回数组的hashcodearray1.length //Int = 5array1(1) = "0mifang" //为指定的index位置的元素进行赋值val array2 = Array(...原创 2020-02-18 22:14:21 · 171 阅读 · 0 评论 -
Scala 学习(9)之「函数式编程」
引用透明对相同的输入,总是能得到相同的输出。如果 f(x) 的参数 x 和函数体都是引用透明的,那么函数 f 是纯函数。违反引用透明的例子我们可以很清楚的看到,对于相同的输入,第二次调用append()和第一次调用append()时候的输出结果是不同的。纯函数(函数的纯粹性)指的是没有副作用的函数副作用指的是状态的变化:修改全局变量抛出异常IO 读写调用有副作用的函...原创 2020-02-16 22:37:24 · 124 阅读 · 0 评论 -
Scala 学习(8)之「trait (2) 」
trait调用链Scala 中支持让类继承多个 trait 后,依次调用多个 trait 中的同一个方法,只要让多个 trait 的同一个方法中,在最后都执行super.方法即可类中调用多个 trait 中都有的这个方法时,首先会从最右边的 trait 的方法开始执行,然后依次往左执行,形成一个调用链条这种特性非常强大,其实就相当于设计模式中的责任链模式的一种具体实现依赖trait H...原创 2020-02-10 23:14:51 · 152 阅读 · 0 评论 -
Scala 学习(7)之「trait (1) 」
将 trait 作为接口使用在 triat 中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可类可以使用 extends 关键字继承 trait,注意,这里不是 implement,而是 extends,在 Scala 中没有 implement 的概念,无论继承类还是 trait,统一都是 extends类继承 trait 后,必须实现其中的抽象方法,实现时不需...原创 2020-02-02 15:23:41 · 114 阅读 · 0 评论 -
Scala 学习(6)之「对象」
object相当于 class 的单个实例,通常在里面放一些静态的 field 或者 method,第一次调用 object 的方法时,就会执行 object 的 constructor,也就是 object 内部不在 method 中的代码;但是 object 不能定义接受参数的 constructor注意,object 的 constructor 只会在其第一次被调用时执行一次,以后再次...原创 2020-02-01 14:24:32 · 130 阅读 · 0 评论 -
Scala 学习(5)之「类——基本概念3」
文章目录使用模式匹配进行类型判断protected调用父类的constructor匿名内部类抽象类抽象field使用模式匹配进行类型判断在实际开发中,比如 spark 的源码中,大量的地方都是使用了模式匹配的方式来进行类型的判断,这种方式更加地简洁明了,而且代码得可维护性和可扩展性也非常的高使用模式匹配,功能性上来说,与 isInstanceOf 一样,也是判断主要是该类以及该类的子类的对...原创 2020-01-28 10:48:39 · 154 阅读 · 0 评论 -
Scala 学习(4)之「类——基本概念2」
内部类import scala.collection.mutable.ArrayBufferclass Class { class Student(val name: String) {} //此处为内部类 val students = new ArrayBuffer[Student] def getStudent(name: String) = { new Student(nam...原创 2020-01-22 11:02:16 · 165 阅读 · 0 评论 -
Scala 学习(3)之「类——基本概念1」
类小提示:可以通过:paste进入 Scala 的多行模式,输入对应的代码块之后,按ctrl + D退出多行模式,然后再调用刚才输入的函数或者方法进行测试//定义类,包含 field 以及方法class HelloWorld { private var name = "0mifang" def sayHello() {print("Hello, " + name)} def get...原创 2020-01-17 14:43:31 · 157 阅读 · 0 评论 -
Scala 学习(2)之「函数」
有返回值函数def 函数名(参数名 : 参数类型): 返回值类型 = { // 函数体}无返回值函数// 不声明返回值类型的函数前提是右侧函数体不包含递归的语句def 函数名(参数名 : 参数类型) = { // 函数体}// 又或者def 函数名(参数名 : 参数类型): Unit = { // 函数体}默认参数def sayHello(firstName:St...原创 2020-01-14 18:43:47 · 257 阅读 · 1 评论 -
Scala 学习(1)之「变量,数据类型,if 表达式,循环」
文章目录变量数据类型类型转换类型判断变量可变变量(var):赋值后可以改变,生命周期中可以被多次赋值。语法:var 变量名称: 类型 = xxx不可变变量(val):赋值后不可变,类似于 Java 中的 final 变量,值一旦初始化了就不能再改变。语法:val 变量名称: 类型 = xxx大多数情况下推荐使用 val 来声明变量,因为可以防止变量的值被错误修改,提高程序的健壮性和安全性。...原创 2020-01-14 18:42:35 · 252 阅读 · 0 评论 -
Scala 遍历 map
Scala 遍历 map原创 2019-11-22 10:24:02 · 8335 阅读 · 0 评论 -
Scala 如何跳出 (当前) 循环?
scala 跳出当前循环 / 跳出整个循环原创 2019-11-15 15:40:44 · 1814 阅读 · 0 评论 -
scala 中 split(".") 无法识别
需求: 将一个字符串按 “.” 拆分,然后遍历出来原创 2019-11-15 15:02:24 · 912 阅读 · 0 评论