scala
实战
大树1993
这个作者很懒,什么都没留下…
展开
-
scala学习(六)—高级部分之隐式转换,模式匹配,泛型
1.隐式转换 隐式转换函数 //隐式转换,是根据源类型与目标类型匹配函数,因此与函数名无关 implicit val str2Int: String => Int = (str: String) => str.toInt 隐式类:即富包装类 //必须有一个参数:且只能有一个参数,代表源类型 implicit class RichString(str: String) { def desc(): Unit = println(s"这是一个长度为:${str.length}.原创 2020-12-20 23:12:52 · 196 阅读 · 0 评论 -
scala学习(五)—函数
1.函数 闭包(一个返回值依赖于外部变量的函数,在函数执行时暂时处于一个封闭状态) //函数的变量只有i,返回值需要捕获函数外部的自由变量factor val factor = 3 val multiplier = (i:Int) => i * factor 柯里化(原来接受两个或多个参数的函数,改为先接受一个参数并返回一个新的函数,新的再接受第二个参数返回最终结果) //一般写法,同时接收两个参数 def add_1(x: Int, y: Int) = x + y //先接收x参数,返回一个原创 2020-12-20 22:56:25 · 92 阅读 · 0 评论 -
scala学习(四)—面向对象详解
官网 1.创建实例类 创建class class Employ { val DESC: String = "Hello" var name: String = _ var age: Int = _ // 重写equals override def equals(other: Any): Boolean = other match { case that: Employ => this.name == tha原创 2020-12-20 22:24:41 · 176 阅读 · 0 评论 -
Scala学习(三)—集合篇
1.集合概览 Scala集合分为可变集合和不可变集合 scala.collection包下的抽象 scala.collection.immutable包下的不可变集合 scala.collection.mutable包下的可变集合 2.集合父类的一些通用方法原创 2020-12-20 22:04:59 · 178 阅读 · 0 评论 -
scala学习(二)—基础部分详解
1.IO操作(更丰富的操作使用JavaIO) //控制台读取数据 import scala.io.StdIn val str = StdIn.readLine("输入数据: ") println(str) //读文件 import scala.io.Source val file = "D:/data/spark/core/wc.txt" val source = Source.fromFile(file) //读取文件 source.getLines().foreach(println) //逐行读取原创 2020-12-20 21:50:18 · 148 阅读 · 0 评论 -
scala学习(一)—基础部分详解
1.数据类型 Any:所有类的超类 AnyVal:所有值类型父类,是Any的子类 AnyRef:所有引用类型的父类,是Any的子类 Null:所有AnyRef的子类 Nothing:所有类的子类,多用于抛出异常 Unit:无值,类似java的void Byte/Short/Int/Long/Float/Double/Char/String/Boolean/String:在scala中每种类型都是类都可直接操作 2.声明变量 ...原创 2020-09-11 21:47:13 · 137 阅读 · 0 评论 -
scala—环境准备
一、命令行方式 下载scala包:https://www.scala-lang.org/download/ 安装 配置环境变量 输入scala 二、继承插件利用idea开发 安装scala插件(可在线和离线安装):file —> settings —> plugins 添加sdk: file —> project structure(scalaSDK即为scala的安装包,可在线和离线安装) ...原创 2020-09-11 21:02:25 · 93 阅读 · 0 评论