Scala 的函数式思维配上面向对象的那套东西,真的挺有意思的。这份《ScalaByExample.pdf》算是入门+进阶一把抓的那种资源,不花里胡哨,但信息量挺足。它把抽象类型、模式匹配、trait 组合这些核心点都讲得蛮清楚,读起来不会太费劲。像我一开始对 Scala 的泛型一头雾水,看到里面讲类型边界的那一节就豁然开朗了,真挺值的。
函数和表达式在 Scala 里可是“一等公民”,你会发现啥东西都能当值丢来丢去,还挺爽的。匿名函数、柯里化这些看着高大上,其实用起来还蛮自然的,适合做那种逻辑抽象比较多的业务场景,比如链式操作、数据之类的。
特质(trait)的组合写法也蛮有意思,感觉比 Java 那一堆继承逻辑清爽多了。比如你要给多个类加上类似日志、权限这些功能,就直接混入特质就好了,省事儿。
顺带提一句,Case 类 + 模式匹配简直就是写数据结构的神器,是做 API 解析、构建 DSL 的同学不要错过。case class
用起来贼方便,一行代码搞定构造、比较、解构。
文件里还提到不少应用场景,比如搞并发啊、XML 啊,配合Actor 模型还能玩点分布式的东西。你要是玩过 Akka,那些概念基本不陌生。
,如果你对 Scala 感兴趣,又不想一开始就啃厚书,先从这份 PDF 看看挺合适的,讲得明白,代码示例也接地气。