Swift 5.1 发布

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Swift 5.1 通过扩展 Swift 5 的稳定特性来增强 Swift 5的优点,Swift 5.1 在编译时引入模块稳定性。有了模块稳定性(Module stability),可以创建和共享二进制 framework,以便兼容 Swift 的未来版本。Swift 5.1 还...

Swift 5.1 通过扩展 Swift 5 的稳定特性来增强 Swift 5的优点,Swift 5.1 在编译时引入模块稳定性。有了模块稳定性(Module stability),可以创建和共享二进制 framework,以便兼容 Swift 的未来版本。Swift 5.1 还扩展了语言和标准库的功能,增加了一些新特性,如属性包装器( property wrapper)、不透明返回类型(opaque result type)、成员查找(key path member lookup)以及字符串的新 API。总之,Swift 5.1 的新特性使设计更好的 API 和减少普通样板代码量变得更加容易。具体如下:

模块稳定性

Swift 5.1 允许创建二进制 framework,且可与其他人共享。模块稳定性定义了一个新的基于文本的模块接口文件,该文件里说明了二进制框架的 API。

标准库更新

Swift 5.1 中的标准库包括以下新特性:

  • 支持处理和更新集合类型上的差异
  • 增加在分配数组存储之前初始化和访问数组的灵活性
  • 新的 API 使用 String 会更容易,包括创建和处理 contiguous string、用于处理 Unicode 文本的帮助程序和用于 String.Index 和 Range 的泛型构造器
  • 用于使用 SIMD 类型的各种增量 API 改进,包括对扩展向量、reduction 操作和向量 swizzle 的支持
  • 支持需要唯一标识符的实体的可标识协议

其他语言和编译器更新 

Swift 5.1 包括以下新的语言特性:

  • 属性包装器引入了通用语法,用于定义属性值的自定义访问模式,包括(但不限于)延迟初始化方法(Delayed initializer)、原子操作、特定于线程的存储与复制即写行为等
  • 不透明返回类型(opaque result type)允许使用泛型类型来支持符合同一协议的不同类型,或者在 api 中隐藏实现细节信息
  • return 关键字不是单个表达式闭包所必需的
  • Self 现在可以用于类和值类型
  • 编译器现在使用默认构造器合成属性的默认值

SwiftSyntax 更新 

SwiftSyntax 已经被重构,通过直接使用 Swift 编译器的解析器来提高它的性能。此外,通过重构内部数据结构,提高了语法树访问和相关操作的性能,从而提高了效率。

语言服务器协议

MacOS 和 Ubuntu 的 Swift 5.1 OSS 工具包包括 SourceKit-LSP 的二进制文件,它是 Swift 和基于 C 的语言服务器协议(LSP,Language Server Protocol)的实现。

Swift 5.1与 Swift 5 兼容,且兼容 Swift 4.2 和 Swift 4/4.1。详情见发布公告

下载:


以上所述就是小编给大家介绍的《Swift 5.1 发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度学习核心技术与实践

深度学习核心技术与实践

猿辅导研究团队 / 电子工业出版社 / 2018-2 / 119.00元

《深度学习核心技术与实践》主要介绍深度学习的核心算法,以及在计算机视觉、语音识别、自然语言处理中的相关应用。《深度学习核心技术与实践》的作者们都是业界一线的深度学习从业者,所以书中所写内容和业界联系紧密,所涵盖的深度学习相关知识点比较全面。《深度学习核心技术与实践》主要讲解原理,较少贴代码。 《深度学习核心技术与实践》适合深度学习从业人士或者相关研究生作为参考资料,也可以作为入门教程来大致了......一起来看看 《深度学习核心技术与实践》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具