首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
scala
Erick_Lv
创建于2021-12-19
订阅专栏
该栏目包含 scala 学习中的一些总结笔记
等 3 人订阅
共16篇文章
创建于2021-12-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
12-scala的隐式参数
隐式参数 我们可以用implicit来声明函数的参数,如果我们没有显示声明参数,那么可以使用之前生命过为implicit的参数,直接看代码实例: 代码输出:
11-scala的内部类、抽象类型、复合类型和自类型
内部类 scala的内部类和Java存在差异。像Java这种语言,内部类很多时候就是为了区分命名上的差异;而scala中,却完全表示两种对象。举个例子: 对象的内部类是不能混合的。 抽象类型 直接给出
10-scala的泛型
泛型基础 我们利用[]来说明泛型。给出代码实例: 代码输出: 型变 协变 看下定义: 如果B是A的类,那么List[B]就是List[A]的子类。在泛型中,我们需要定义为List[+A]。 直接给出代
09-scala的yield、lazy和集合的view
yield yield一般和for循环配合使用,yield每次会把for迭代的数据放到Vector中,然后在for循环结束后返回集合。直接给出代码实例: 代码输出: lazy 延迟计算用的,变量声明的
08-scala的花括号和小括号
这边文章总结一下scala对花括号和小括号的使用场景的差异。 对于小括号来说,必须的场景是,多参数函数调用的时候。举个例子: 那么以下三种方式调用foo是等效的: 但是,调用foo1就必须使用(),即
07-scala的集合
简介 scala集合分为可变和不可变两种,默认都使用不可变集合,即集合元素是在构造时候确定的,而且构造完成之后里面的内容就是不可变的了,每次对集合的操作都会产生一个新的集合。使用不可变集合可能在有些场
06-scala的for循环
基础使用方式 最基础的是范围遍历,to包含上确界,until不包含上确界,给出代码实例: 循环的元素也可以直接遍历: 循环守卫 如果我们想在循环时增加过滤条件,可以使用如下方式: 高维循环 直接给出代
05-scala偏函数
基础用法 首先我们总结下偏函数的定义: 只接受一个参数 输入参数类型范围的子集 可以显示使用isDefinedAt方法指定输入参数的范围,可以使用apply方法 举个例子(这个例子暂时存在问题,实际情
04-scala的构造器和提取器
构造器 构造器类似于构造函数,但是功能比构造函数更强大,构造器基本的使用方式: 当然,apply方法不一定返回原来的对象,举个例子: 代码输出: 提取器 提取器可以获取一个对象,然后返回最初创建该对象
03-scala模式匹配
基础类型匹配 首先我们看下最基础的匹配: 代码输出: Option类型匹配 一般来说,我们不要在scala中使用空值,更推荐使用Option的方式。使用Option必然经常使用match,因此直接在这
02-scala 函数&方法进阶
作用域省略 scala中,如果方法只有一个参数,可以省略.作用域符号,给出一个说明: 高阶函数 scala中,函数是“一等公民”,即函数可以类似变量那样,可以赋值、作为其他函数or方法的输入、作为返回
01-scala基础
类型层次结构 整体层次结构如下: Any是所有类型的基类。值类型和引用类型分别由不同的基类。 值类型可以进行强制转换,转换的方式如下图: Nothing是所有类型的子类型,没有任何类型可以是Nothi
Scala 中的异常捕获
异常捕获 scala 和 Java 类似,也有try & catch 语义来捕获异常。scala 的异常捕获如下: catch块中,我们使用case来匹配可能出现的异常情况,上述代码的输出为: try
scala 中的异步编程
前言 本文更适合有C++的基础&熟悉 scala 基本概念的同学。 Future Future 基本用法 基本概念和C++的 std::Future类似,我们看下定义: 而且 Future 有appl
scala 的偏函数、柯理化、隐式参数和隐式对象
偏函数 偏函数最基本的定义是,我们想给函数固定定义域。在 scala 中,我们使用PartialFunction 来实现,定义如下: 输出结果: 但是这类方式过于繁琐了,我们可以结合 case的方式来
scala 中的 => T参数
本文主要介绍了 scala 中=> T 参数和T 参数的区别,这两者在 scala 中有广泛的应用。