![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
Topurce
这个作者很懒,什么都没留下…
展开
-
Scala开发环境搭建
-1. 下载Scala和LightBend Activator 到网站http://www.scala-lang.org/下载相关安装文件。-2. 下载playframework和activator 到网站https://www.playframework.com/下载相关安装文件。-2. 安装brew/usr/bin/ruby -e "$(curl -fsSL https://raw.git原创 2016-07-16 23:04:37 · 703 阅读 · 0 评论 -
Scala基础应用(6)- 常用对象,集合等
Scala基础应用(6)- 常用对象,集合等 本章主要讲解一些常用对象和集合类1. 序列化(Ordered特质)例子:class Rational(n: Int, d: Int) extends Ordered[Rational] { def compare(that: Rational) = (this.number * that.denom) - (that.n原创 2017-03-23 03:43:08 · 670 阅读 · 0 评论 -
Scala基础应用(5)- 函数式编程
Scala高级应用(5)- 函数式编程 本章主要介绍一些函数式编程的用法及对前面内容的一些补充尽量使用val替代var如果方法是操作符,左边变量是调用者,如a * b 实际是a.*(b)如果方法是冒号结尾,右边变量是调用者, 如 a :: b 实际是b.::(a)函数在执行体前如果不加等号,返回类型Unit== 在scala里直接转为equals如果方法不带参数,调用时可省略小括号变原创 2017-03-20 21:26:55 · 493 阅读 · 0 评论 -
Scala基础应用(4)- 样本类和模式匹配
Scala高级应用(4)- 样本类和模式匹配样本类 就是在普通类前加了casecase class Test(param1: Int, param2: String ...) {}样本类带来的好处省略掉new, 样本类实例化不需要在前面加new, 直接产生对象。参数自动加val, 即样本类的参数缺省是不可修改的自动加上toString, equals, hashcode三个方法之所以原创 2017-03-20 21:25:20 · 619 阅读 · 0 评论 -
Scala基础应用(2)- 类和对象
Scala高级应用(2)- 类和对象 本章主要讲解类,伴生类,及对象相关知识1. 类样式class 类名 (构造参数) { def this(参数1: 类型, 参数2:类型...) = {} //辅助构造函数 变量,方法函数定义}类变量或方法缺省是public的,还可以声明为private,protected另外,如果类只有构造函数,可以省略大括号重载使用override原创 2017-03-20 21:24:23 · 451 阅读 · 0 评论 -
Scala基础应用(3)- 特质
Scala高级应用(3)- 特质 特质是scala实现多继承的方式,类似于interface类, 但也有区别,在特质里,还可以定义实现体方法,特质可以被其它类继承的方式是使用with或extends样式trait 名称 { this: 类名 // 该特质只能被该类或该类的子类继承- 自身类型 方法定义或方法体}堆叠试想两个特质定义了同样的方法会怎么样?它会堆叠,即根原创 2017-03-20 21:24:49 · 411 阅读 · 0 评论 -
Scala基础应用(11)- 懒加载(lazy语法糖)
Scala基础应用(11)- 懒加载(lazy语法糖) Scala中使用lazy关键字来标识变量是否是懒加载所谓懒加载, 就是在声明时并不会直接执行,只有在使用该变量的时候,该变量所对应的赋值语句才会被执行在Java中的实现方式 (内部类或Singleton)内部类public class LazyLoadClass { private LazyLoadClass() {原创 2017-03-23 03:46:44 · 829 阅读 · 0 评论 -
Scala基础应用(10)- 传值与传名参数
Scala基础应用(10)- 传值与传名参数传值 ( () => Unit)def test1(code: ()=>Unit){ println("start") code() //要想调用传入的代码块,必须写成code(),否则不会调用。 println("end") } test1 {//此代码块,传入后立即执行。 println("1111")原创 2017-03-23 03:46:26 · 529 阅读 · 0 评论 -
Scala基础应用(8)- 约束
Scala基础应用(8)- 约束1. 上下界 (<:, >:)上界:A <: B, B为A的上界,即A必须为B的子类(含本类)def test[A <: String, B] (str: A) (getStr: A => B) : B = getStr(str)val result = test("test1")( (x) => "my test string is " + x)下界:原创 2017-03-23 03:43:59 · 445 阅读 · 0 评论 -
Scala基础应用(7)- map/flatMap和filter
Scala基础应用(7)- map/flatMap和filter 本章主要介绍集合的map, flatten, flatMap, filter zip, fold, reduce等常用方法map map接受一个函数作为参数, 而此函数会接受一个参数为集合中元素, 所以此函数用于对集合中每一个元素进行处理后,产出其结果的集合。val test = List("a", "b", "c")原创 2017-03-23 03:43:32 · 2926 阅读 · 0 评论 -
Scala基础应用(1)- 基本语法
Scala基础应用(1)- 基本语法 本章主要讲解Scala基本语法,如何定义变量,函数,基本控制结构等。1. 解释器 Scala可以像其它脚本语言一样,边解释边运行,但实际项目中一定是通过编译后再运行安装好Scala后,在控制台运行scala即进入解译器环境 另外可以在scala后面加上scala脚本文件,也可直接执行脚本解释器可以多行输入,按两次回车退回编写输入:quit 或者原创 2017-03-20 21:23:02 · 433 阅读 · 0 评论 -
Scala基础应用(9)- 隐式转换
Scala基础应用(9)- 隐式转换 首先要明确隐式转换只针对类型,与名称无关,我把隐式类型分为以下三类 隐式参数 隐式方法 隐式类 注意:隐式转换只发生在运行时当前上下文没有对应的调用。 同时,隐式转换有如下限制: 不存在二义性, 即对同一类型不能有两种隐式转换 不能嵌套使用,如:convert1(convert2(x))原创 2017-03-23 03:46:09 · 527 阅读 · 0 评论