首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Scala
订阅
wen酱110586
更多收藏集
微信扫码分享
微信
新浪微博
QQ
101篇文章 · 0订阅
函数式编程的魅力:理解Haskell与Scala
1.背景介绍 函数式编程是一种编程范式,它将计算看作是数学函数的求值。这种编程范式的核心思想是使用函数来描述程序的行为,而不是使用命令式编程中的变量和流程控制。函数式编程语言通常具有引用透明性、无副作
Scala 系列(十三)—— 隐式转换和隐式参数
隐式转换指的是以 implicit 关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能。示例如下: 并不是你使用 implicit 转换后,隐式转换就一定会发生,比如上面如果不调用 hammer() 方法的时候,普通人就还是普通人。…
Scala 系列(十二)—— 类型参数
Scala 支持类型参数化,使得我们能够编写泛型程序。 Java 中使用 <> 符号来包含定义的类型参数,Scala 则使用 []。 函数和方法也支持类型参数。 Scala 和 Java 一样,对于对象之间进行大小比较,要求被比较的对象实现 java.lang.Comparab…
Scala 系列(十一)—— 模式匹配
Scala 支持模式匹配机制,可以代替 swith 语句、执行类型检查、以及支持析构表达式等。 Scala 不支持 swith,可以使用模式匹配 match...case 语法代替。但是 match 语句与 Java 中的 switch 有以下三点不同: 在 Scala 中 m…
Scala 系列(十)—— 函数 & 闭包 & 柯里化
Scala 中函数与方法的区别非常小,如果函数作为某个对象的成员,这样的函数被称为方法,否则就是一个正常的函数。 multi2 和 multi3 本质上没有区别,这是因为函数是一等公民,val multi2 = (x: Int) => {x * x} 这个语句相当于是使用 de…
Scala 系列(九)—— 继承和特质
Nothing 是所有类型的子类型。 Scala 的集成机制和 Java 有很多相似之处,比如都使用 extends 关键字表示继承,都使用 override 关键字表示重写父类的方法或成员变量。示例如下: 在 Scala 的类中,每个辅助构造器都必须首先调用其他构造器或主构造…
Scala 系列(八)—— 类和对象
Scala 中成员变量的可见性默认都是 public,如果想要保证其不被外部干扰,可以声明为 private,并通过 getter 和 setter 方法进行访问。 需要特别说明的是:假设变量名为 age,则其对应的 get 和 set 的方法名分别叫做 age 和 age_=…
Scala 系列(七)—— 常用集合类型之 Map & Tuple
可变 Map 允许进行新增、修改、删除等操作。 不可变 Map 不允许进行新增、修改、删除等操作,但是允许由不可变 Map 产生新的 Map。 可以使用 yield 关键字从现有 Map 产生新的 Map。 在使用 Map 时候,如果不指定,默认使用的是 HashMap,如果想…
Scala 系列(六)—— 常用集合类型之 List & Set
List 是 Scala 中非常重要的一个数据结构,其与 Array(数组) 非常类似,但是 List 是不可变的,和 Java 中的 List 一样,其底层实现是链表。 协变 (covariant):如果 S 是 T 的子类型,那么 List[S] 就是 List[T] 的子…
Scala 系列(五)—— 集合类型综述
可变集合: 可以被修改。即可以更改,添加,删除集合中的元素; 不可变集合类:不能被修改。对集合执行更改,添加或删除操作都会返回一个新的集合,而不是修改原来的集合。 Scala 中的大部分集合类都存在三类变体,分别位于 scala.collection, scala.collec…