scala2.12.x 教程目录 作者:马育民 • 2021-03-23 10:26 • 阅读:16076 # 基础 0. [scala教程:介绍](https://www.malaoshi.top/show_1IX1BCIOXrDq.html "scala教程:介绍") 1. [scala教程:环境搭建](https://www.malaoshi.top/show_1IX1DPxxtlyE.html "scala教程:环境搭建") 2. [idea安装scala插件](https://malaoshi.top/show_1IXnyD53SzF.html "idea安装scala插件") 1. [scala教程:idea创建maven工程开发scala](https://www.malaoshi.top/show_1IXnyXUv3vq.html "scala教程:idea创建maven工程开发scala") 2. [scala教程:第一个程序HelloWorld(object)](https://www.malaoshi.top/show_1IX2KrHAvzVB.html "scala教程:第一个程序HelloWorld(object)") 3. [scala教程:object 单例对象](https://www.malaoshi.top/show_1IX2MgN13T4I.html "scala教程:object 单例对象") 1. [scala教程:Scala开发注意](https://www.malaoshi.top/show_1IXoLHF2L98.html "scala教程:Scala开发注意") 6. [scala教程:注释](https://www.malaoshi.top/show_1IX19aAXxKqj.html "scala教程:注释") 7. [scala教程:变量 var 和 常量 val](https://www.malaoshi.top/show_1IXoQK4hshq.html "scala教程:变量 var 和 常量 val") 8. [scala教程:数据类型](https://www.malaoshi.top/show_1IXoQfYBz8M.html "scala教程:数据类型") 9. [scala教程:值类型](https://www.malaoshi.top/show_1IX19YrOTf81.html "scala教程:值类型") 10. [scala教程:字符串String](https://www.malaoshi.top/show_1IX30jgQwN0V.html "scala教程:字符串String") - [scala教程:常用的转义字符](https://www.malaoshi.top/show_1IXoL874RWs.html "scala教程:常用的转义字符") - [scala教程:字符串插值器](https://www.malaoshi.top/show_1IXoM0orxA8.html "scala教程:字符串插值器") - [scala教程:printf()打印字符串](https://www.malaoshi.top/show_1IXoKgoyOk1.html "scala教程:printf()打印字符串") 10. [scala教程:Unit、Null、Nothing、Nil数据类型](https://www.malaoshi.top/show_1IX19WeWOPVW.html "scala教程:Unit、Null、Nothing、Nil数据类型") # 语句 11. [scala教程:for循环语句](https://www.malaoshi.top/show_1IX19bHLfhBX.html "scala教程:for循环语句") - [scala教程:for循环语句扩展:返回值、倒序打印](https://www.malaoshi.top/show_1IX4PArAIJhg.html "scala教程:for循环语句扩展:返回值、倒序打印") - [scala教程:yield作用](https://www.malaoshi.top/show_1IX2LXjyjxi5.html "scala教程:yield作用") 12. [scala教程:循环中断break和continue](https://www.malaoshi.top/show_1IX1B0QXfrYc.html "scala教程:循环中断break和continue") 13. [scala教程:while循环语句](https://www.malaoshi.top/show_1IX1B8AfWMWT.html "scala教程:while循环语句") 14. [scala教程:不可变数组](https://www.malaoshi.top/show_1IX1BYJtNM8s.html "scala教程:不可变数组") - [scala教程:可变集合 和 不可变集合](https://www.malaoshi.top/show_1IX4PCKiksFz.html "scala教程:可变集合 和 不可变集合") 15. [scala教程:数组的遍历](https://www.malaoshi.top/show_1IX1BYJi4Mbr.html "scala教程:数组的遍历") # 函数式编程 1. [scala教程:函数](https://www.malaoshi.top/show_1IX1B8b33fN6.html "scala教程:函数") 2. [scala教程:函数的参数-不定长参数、默认值、带名参数](https://www.malaoshi.top/show_1IX1BB4nKeBJ.html "scala教程:函数的参数-不定长参数、默认值、带名参数") 3. [scala教程:函数至简原则](https://www.malaoshi.top/show_1IX1BC3npQmT.html "scala教程:函数至简原则") - [scala不建议用return](https://www.malaoshi.top/show_1IX1OAnQPotp.html "scala不建议用return") ### 高阶函数 1. [scala教程:高阶函数介绍、将函数赋给 常量 或 变量](https://www.malaoshi.top/show_1IX1BSfm5RDV.html "scala教程:高阶函数介绍、将函数赋给 常量 或 变量") 2. [scala教程:高阶函数-将函数作为参数,传递给另一个函数](https://www.malaoshi.top/show_1IX302xy3m14.html "scala教程:高阶函数-将函数作为参数,传递给另一个函数") 3. [scala教程:高阶函数-函数返回一个函数](https://www.malaoshi.top/show_1IX302oi8RUN.html "scala教程:高阶函数-函数返回一个函数") ### lambda 17. [scala教程:匿名函数和lambda表达式](https://www.malaoshi.top/show_1IX1BOKRUYFs.html "scala教程:匿名函数和lambda表达式") 18. [scala教程:lambda表达式的至简原则](https://www.malaoshi.top/show_1IX1BQpad7Rq.html "scala教程:lambda表达式的至简原则") 19. [scala教程:lambda表达式不允许`_`=>`_`写法](https://www.malaoshi.top/show_1IX1KMV2TO5p.html "scala教程:lambda表达式不允许_=>_写法") 19. [scala教程:lambda表达式的使用](https://www.malaoshi.top/show_1IX1BRL0zYBh.html "scala教程:lambda表达式的使用") 20. [scala教程:实现map()函数(yield)](https://www.malaoshi.top/show_1IX1BZCCDov7.html "scala教程:实现map()函数(yield)") 21. [scala教程:实现reduce()函数](https://www.malaoshi.top/show_1IX1BjnEFZFm.html "scala教程:实现reduce()函数") ### 高级 22. [scala教程:闭包](https://www.malaoshi.top/show_1IX1BkhBXuDD.html "scala教程:闭包") 23. [scala教程:函数柯里化](https://www.malaoshi.top/show_1IX1BllyYdpN.html "scala教程:函数柯里化") 24. [scala教程:函数的递归](https://www.malaoshi.top/show_1IX1BoHuUiGW.html "scala教程:函数的递归") 25. [scala教程:控制抽象](https://www.malaoshi.top/show_1IX1BpgJucKU.html "scala教程:控制抽象") 26. [scala教程:lazy惰性加载(懒加载)](https://www.malaoshi.top/show_1IX1BuvNiFo6.html "scala教程:lazy惰性加载(懒加载)") # 面向对象 1. [scala教程:包package](https://www.malaoshi.top/show_1IX1CXavmste.html "scala教程:包package") 2. [scala教程:类、对象和属性(成员变量)](https://www.malaoshi.top/show_1IX1CYiPkchO.html "scala教程:类、对象和属性(成员变量)") 3. [scala教程:属性(成员变量)的底层实现](https://www.malaoshi.top/show_1IX1CZIPbMxO.html "scala教程:属性(成员变量)的底层实现") 3. [scala教程:使用 下划线 _ 初始化属性(成员变量)](https://www.malaoshi.top/show_1IX1CYjEievV.html "scala教程:使用 下划线 _ 初始化属性(成员变量)") 4. [scala教程:@BeanPropetry注解和setter、getter方法](https://www.malaoshi.top/show_1IX1CYjrmO8Y.html "scala教程:@BeanPropetry注解和setter、getter方法") 5. [scala教程:方法](https://www.malaoshi.top/show_1IX1CpvaVxy1.html "scala教程:方法") 6. [scala教程:主构造器 和 辅助构造器](https://www.malaoshi.top/show_1IX1CrXvkSwj.html "scala教程:主构造器 和 辅助构造器") 7. [scala教程:构造器的参数](https://www.malaoshi.top/show_1IX1CtyjvGHM.html "scala教程:构造器的参数") 8. [scala教程:主构造器和辅助构造器、反编译](https://www.malaoshi.top/show_1IX2MXswrV3T.html "scala教程:主构造器和辅助构造器、反编译") 8. [scala教程:继承](https://www.malaoshi.top/show_1IX1CwUrBCta.html "scala教程:继承") 9. [scala教程:访问权限(public、protected、private和默认)](https://www.malaoshi.top/show_1IX1CwgajDw4.html "scala教程:访问权限(public、protected、private和默认)") 10. [scala教程:override重写(覆盖)](https://www.malaoshi.top/show_1IX1D3RcWonj.html "scala教程:override重写(覆盖)") 11. [scala教程:多态](https://www.malaoshi.top/show_1IX1DDL6FiNG.html "scala教程:多态") 12. [scala教程:抽象类](https://www.malaoshi.top/show_1IX1DESt7Awm.html "scala教程:抽象类") 13. [scala教程:super关键字](https://www.malaoshi.top/show_1IX1DEdLgJzB.html "scala教程:super关键字") 14. [scala教程:object伴生对象 和 伴生类](https://www.malaoshi.top/show_1IX2MgaI6UGh.html "scala教程:object伴生对象 和 伴生类") 15. [scala教程:伴生对象的应用场景:工厂模式](https://www.malaoshi.top/show_1IX1DOpHwykc.html "scala教程:伴生对象的应用场景:工厂模式") 16. [scala教程:apply()方法](https://www.malaoshi.top/show_1IX1DOvSTSCi.html "scala教程:apply()方法") 17. [scala教程:伴生对象的应用场景:单例模式](https://www.malaoshi.top/show_1IX1DP8Ch1bx.html "scala教程:伴生对象的应用场景:单例模式") 18. [scala教程:trait](https://www.malaoshi.top/show_1IX1DwiK3Awx.html "scala教程:trait") # 隐式转换 1. [scala教程:隐式转换介绍(implicit)](https://www.malaoshi.top/show_1IX1KpZTU9u9.html "scala教程:隐式转换介绍(implicit)") 2. [scala教程:隐式转换-隐式函数](https://www.malaoshi.top/show_1IX1Kq9kClbG.html "scala教程:隐式转换-隐式函数") 3. [scala教程:隐式转换-隐式值(隐式变量)](https://www.malaoshi.top/show_1IX1L1LawtfG.html "scala教程:隐式转换-隐式值(隐式变量)") 4. [scala教程:隐式转换-隐式类](https://www.malaoshi.top/show_1IX1L0O82g28.html "scala教程:隐式转换-隐式类") 5. [scala教程:隐式解析机制](https://www.malaoshi.top/show_1IX1L0IcVMlr.html "scala教程:隐式解析机制") # 集合 1. [scala教程:集合介绍](https://www.malaoshi.top/show_1IX1DPymlflF.html "scala教程:集合介绍") - [scala教程:可变集合 和 不可变集合](https://www.malaoshi.top/show_1IX4PCKiksFz.html "scala教程:可变集合 和 不可变集合") 2. [scala教程:可变数组](https://www.malaoshi.top/show_1IX1DgbLcQlR.html "scala教程:可变数组") 3. [scala教程:不可变数组和可变数组互相转换](https://www.malaoshi.top/show_1IX1DgompsUu.html "scala教程:不可变数组和可变数组互相转换") 4. [scala教程:不可变List](https://www.malaoshi.top/show_1IX4PCnBJVpE.html "scala教程:不可变List") 5. [scala教程:ListBuffer-可变List](https://www.malaoshi.top/show_1IX4PDaa5iJQ.html "scala教程:ListBuffer-可变List") 6. [scala教程:元组tuple](https://www.malaoshi.top/show_1IX1Dlw0dzag.html "scala教程:元组tuple") 7. [scala教程:Map(不可变)](https://www.malaoshi.top/show_1IX1DmAHcJx3.html "scala教程:Map(不可变)") 8. [scala教程:Map(可变)](https://www.malaoshi.top/show_1IX1DnGCGJwM.html "scala教程:Map(可变)") 9. [scala教程:迭代器Iterator](https://www.malaoshi.top/show_1IX1JdMreXyE.html "scala教程:迭代器Iterator") ### 集合操作 1. [scala教程:集合通用属性和方法](https://www.malaoshi.top/show_1IX1Jia4S0K1.html "scala教程:集合通用属性和方法") 2. [scala教程:集合截取、删除、翻转、排序等通用方法](https://www.malaoshi.top/show_1IX1JiZDHN4z.html "scala教程:集合截取、删除、翻转、排序等通用方法") 3. [scala教程:集合的求和、求乘积、最大值、最小值](https://www.malaoshi.top/show_1IX1Jinw51OZ.html "scala教程:集合的求和、求乘积、最大值、最小值") 4. [scala教程:集合的map映射转换、flatMap、reduce、groupBy分组、filter过滤、flatten扁平化](https://www.malaoshi.top/show_1IX1JjfisnSN.html "scala教程:集合的map映射转换、flatMap、reduce、groupBy分组、filter过滤、flatten扁平化") 5. [scala教程:集合的intersection交集、union并集、diff差集](https://www.malaoshi.top/show_1IX1KgzaoxWO.html "scala教程:集合的intersection交集、union并集、diff差集") 6. [scala教程:集合的zip拉链](https://www.malaoshi.top/show_1IX1Kh6FSM5d.html "scala教程:集合的zip拉链") 7. [scala教程:实现worldcount](https://www.malaoshi.top/show_1IX1K6NjMHPx.html "scala教程:实现worldcount") # 匹配模式 1. [scala教程:模式匹配](https://www.malaoshi.top/show_1IX4Ph4KM6cl.html "scala教程:模式匹配") 2. [scala教程:case class样例类](https://www.malaoshi.top/show_1IX4K3Mwk7k4.html "scala教程:case class样例类") 3. [scala教程:模式匹配-匹配对象(样例类 case class)](https://www.malaoshi.top/show_1IX4PhCHsP1N.html "scala教程:模式匹配-匹配对象(样例类 case class)") # 其他 1. [scala教程:Option、Some、None的作用,避免使用null](https://www.malaoshi.top/show_1IX2NmQfCDef.html "scala教程:Option、Some、None的作用,避免使用null") 3. [scala教程:读取文本文件 Source.fromFile](https://www.malaoshi.top/show_1IX4Q3hSE3RT.html "scala教程:读取文本文件 Source.fromFile") 原文出处:http://malaoshi.top/show_1IXoRbHIFlj.html