苹果公司发布了Swift 2.2,这将是苹果公司移动端和服务端最新版本的编程语言。该版本是第一次官方发布,它是由包括212位非苹果贡献者在内的开源开发者完成的。在 Swift开源的最初几天里,发现存在一些拼写错误,Chris Lattner宣布:
\\ \\该版本还包括依据Swift发展路线图实现的一些改进,包括非苹果贡献者提供的一些建议:
\\- SE-0001:允许(大多数)关键字用作参数名\\
- SE-0015:Tuple对比操作符\\
- SE-0014:约束AnySequence.init\\
- SE-0011:关联类型声明时用associatedtype关键字代替原来的typealias\\
- SE-0021:函数签名包括参数名\\
- SE-0022:引进Objective-C selector方法\\
- SE-0020:Swift语言版本构建配置\
Swift项目已经扩展为允许在过去有优秀表现的人直接提交到知识库中。
\\Swift 2.2包含在苹果Xcode7.3中发布,这一消息已经被公布。官方发布意味着iOS应用程序现在可以使用Swift 2.2提交到AppStore。对于Linux版本,官方程序包可用于Ubuntu 14.04和15.10。但是,Linux端口尚未完全实现;在标准的swift核心库(swift core libraries)中有一些组件的缺失,这些组件被安排在今年晚些时候在Swift 3中实现。IBM的Swift sandbox目前运行在Swift 3.0开发版本中,也可能会在不久的将来增加对Swift 2.2的支持。
\\Swift包管理器(Swift Package Manager)持续的开发意味着它也不是一个官方版本;它也将计划在Swift3.0版本中发布。
\\对于版本升级,苹果公司提供了Swift编程语言ePub文档和HTML版。
\\Swift 2.2版本变化
\\Swift 2.2中的一些更新会影响以前版本中编写的源代码。包括:
\\- C风格for循环的去除以及递增++和递减--运算符的去除。 \\
- 函数不能直接通过参数名进行定义,而是返回一个函数接受一个运算符。 \\
- Objective-C selectors可以用#selector(doSomething),而不是Selector(\"doSomething\"),并且是在编译时进行检查。 \\
- 大所数的关键字可以被用作参数名。 \\
- 关联类型可以与协议相关,允许使用协议时在类中采用泛型。\
该语言书中还包括自动引用计数(Automatic Reference Counting )的描述,可能并没有完全明确。
\\Swift 2.2版本可以在Swift网站下载。
\\查看英文原文:Apple Releases Swift 2.2 for OSX and Linux
\\感谢张龙对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。