查看: 1643|回复: 1
收起左侧

[其他] Swift 5.1 发布

[复制链接]
我就是XXX
发表于 2019-9-23 11:37:34 | 显示全部楼层 |阅读模式
本帖最后由 我就是XXX 于 2019-9-23 11:39 编辑

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。

下载:

  • Linux:Ubuntu 18.04、Ubuntu 16.04 和 Ubuntu 14.04 的官方二进制文件可供下载。

  • 苹果(Xcode):SWIFT 5.1 作为 Xcode 11 的一部分,此外还有工具链可以下载:swift.org

  • 源码


rugby
发表于 2019-9-23 12:08:41 | 显示全部楼层
更新的还挺快
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-23 09:27 , Processed in 0.121982 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表