学习 Swift 函数式编程的核心观点,并将其运用到真实世界的开发中去

Swift 为编程世界打开了一扇新的大门,在本书中我们将带领您遨游这个世界。正如 Swift 的创造者 Chris Lattner 所言:

“没有 C 的 Objective-C” 确实是在做减法,但是 Swift 引入了泛型和函数式编程的概念,这极大扩展了语言设计的空间。

在 Swift 中引入函数式编程为我们的开发带来了无限的乐趣。在本书中我们将阐述函数式编程的理念,并向您展示如何在 Swift 中将它们运用于程序设计,这可以帮助我们写出更加简洁和明确的代码。

本书内容

  • 函数式编程思想

    了解函数式编程范式

  • Map、Filter 和 Reduce

    高阶函数以及用函数操作集合类型

  • 函数式 API

    设计可组装且类型安全的函数式 API

  • 可选值

    Swift 如何解决 “无” 的问题,为什么要选取这个解决方案

  • 纯粹性

    值类型以及不可变的优势

  • 枚举

    使用 Swift 枚举类型创建自己的数据结构,以保证表意清晰,类型安全

  • 纯函数式数据结构

    使用递归枚举来实现简单的数据结构

  • 迭代和序列

    理解 Swift 集合类型背后的机制

  • 解析和求值

    使用函数式编写的解析框架,构建能处理的表格数据的简单 app

  • 解析和求值

    介绍函数式代码背后的思想和通用模式


关于作者

  • Chris Eidhof

    Chris 是 objc.io 的创始人之一。他之前是一名 Haskell 程序员,最近几年 Chris 专注于 Apple 平台并进行了深入研究。

  • Florian Kugler

    Florian 是 objc.io 的创始人之一。他已经对 OOP 编程范式如数家珍,现在他正在研究单子和函子的终极奥义。

  • Wouter Swierstra

    Wouter 在函数式编程领域有 15 以上年的经验。他在工业界,教育界和出版界均有关于函数式编程的建树。

关于译者

  • 陈聿菡

    陈聿菡目前在日本从事 iOS 开发,在此之前是一名前端开发者,对图像处理感兴趣,正在为写出优美的代码而修炼。

  • 杜欣

    杜欣是一名热衷于分享的 iOS 开发者,此前曾多次参与 ObjC 中国社区的翻译工作。会在闲暇时撰写博客分享一些学习心得,是个聊起开发偶尔会停不下来的家伙。

  • 王巍

    ObjC 中国的创始人之一,objc.io 书籍翻译工作组织者。使用 onevcat 作为 ID 活跃在中国 iOS 开发界,Swift 使用者。


常见问题

  • 这本书针对的 Swift 版本是?

    本书是针对 Swift 4 编写的,书中的概念和示例代码都遵循 Swift 3 规范,请您放心阅读。购买后,您也可以免费获取后续的所有更新内容。

  • 我能在哪里找到书中的示例代码?

    书中的示例代码都放在了 GitHub 的这个仓库中,您可以随时查阅。另外,您也可以从本站打包下载所有的示例代码。

  • 阅读本书需要 Swift 知识吗?

    我们假设您已经知道面向对象编程的一般知识,并至少阅读过 Apple 的 Swift 入门书籍

  • 这本书是 objc.io 的英文书,为什么会有中文版本?

    我们是 “ObjC 中国” 组织,我们与 objc.io 展开了深度合作,并获得了 objc.io 的授权,在中国拥有这系列图书的独占翻译和销售权。

  • 中文版和英文版有什么不同?会保持同步吗?

    中文版和英文原版内容是一致的。书中偶有难以理解或国内鲜见的语汇,对此我们通过译注的形式进行了进一步的解释,以帮助读者理解。本书将继续更新并和英文版保持同步,但是在中英文版更新之间会有一定时间差。

  • 翻译书籍一般都很烂,这本书的质量可以信任吗?

    “ObjC 中国”致力于最优秀的翻译作品,我们希望能将先进的 Swift 开发技术以更易懂的方式介绍给中文社区的开发者们。本书由国内有深厚英文背景的一线开发者花费大量时间和精力翻译,由 onevcat 逐句进行审核。我们保证,本书一定会是一本由开发者书写,经开发者翻译,最终提供给开发者阅读的优秀图书。

  • 这本书有纸质书吗?

    这本书有纸质书销售,请您自行在各书店或网上商城查找同名书籍。我们可以为电子版本提供后续所有的更新,但我们无法为纸质版本进行同样的承诺,请您谅解。

  • 我能在什么设备上阅读本书?

    我们提供排版精美且 DRM free 的 PDF、mobi 和 epub 格式图书,这意味着您可以在任意带有 PDF 阅读器的桌面或移动平台、iBooks 以及 Kindle 等绝大部分常见阅读设备上进行阅读。

  • 付款方式是怎样,我能获得后续更新吗?

    您可以通过信用卡或者支付宝进行付款,在购买时请确认您填写了正确的邮箱地址,您将可以通过邮箱地址和账号在本站下载书籍的后续更新。

  • 为什么支付宝付款时价格和网站表示稍有不同?

    我们的结算服务不能直接收取人民币,因此最终价格是经过订单生成时的汇率换算后的价格,可能会与原价有些许不同。

  • 我成功购买了,但是下载失败或者下载没有开始?

    如果在订单完成后连接中断或者速度很慢的话,请检查或者更换您的网络设置后使用购买时的邮箱登录再进行下载。如果依然存在问题,请联系我们。

  • 除了本书,还有其他推荐的图书吗?

    请您关注本站的书籍页面以获取更多信息。

  • 我还有其他问题。

    欢迎使用邮件联系我们,我们随时准备好为您提供服务。