首页 > 娱乐前沿 > 科技
Swift 4.1释出,扩充泛型加入条件一致性
乐乐 2018-04-03 16:29:27

Apple宣布正式释出Swift△4.1,这次添加了新的语言功能、建置选项以及一些Swift套件管理器的强化,现在Xcode△9.3 beta也已经支援Swift△4.1,开发者可以先尝鲜试试新功能。c0k我酷网

语言本身的功能,其中重要的更新便是泛型的扩充,让Swift的泛型系统有更完整的表达方法。Swift△4.1在标准函式库中加入条件一致性(Conditional△Conformance),其所表达的概念为,泛型类型只有在其参数类型符合特定要求时才符合特定协议(Protocol)。c0k我酷网

在Swift△4.0中,虽然Array可以使用等号比较运算子==(Equatable),Optional却不行,而等号比较运算子也不支援两个Optional操作数,因此let△a△= ["1","2","x"].map(Int.init) a△== [1,2,nil]这样的写法,会收到编译器的错误警告。c0k我酷网

但是现在Swift△4.1,已经可以修正这样的问题,开发者可以让原本无法使用等号比较运算子的型态,通过实作后也能使用。以Optional为例,开发者可以先为Optional实做等号比较运算子,撰写extension△Optional: Equatable△where△Wrapped: Equatable△{}程式码,便能让Optional像Array一样使用等号比较运算子。c0k我酷网

在Swift△4.1中受惠于条件一致性,Optional、Array和Dictionary只要值与元素符合,就能使用等号比较运算子和哈希表(Hashable)。而这个方法也适用于可编码属性(Codable),现在尝试编码一个无法编码的型态,会得到错误讯息而不会困在Runtime阶段的执行陷阱。c0k我酷网

编译器在之前版本支援速度最佳化后,Swift△4.1还支援程式码容量最佳化。新的最佳化选项可以选择对全模组或是单一档案编译最佳化,Apple表示,全模组最佳化的效果较佳,档案大小能减少5%到30%。 另外,套件管理器现在可以正确的解决,来自SSH或是HTTP不同协议套件图(Package△Graphs)的相依性问题,并能更快的处理共享相依性。c0k我酷网

上一篇  下一篇

I 相关 / Other

套路贷团伙盯上90”:专门向家庭条件好的年轻人放贷 [热事件]

专找家庭条件好的年轻人放贷,暴力催债,随意殴打、辱骂他人,甚至将对方非法拘禁……近日,浙江省浦江县检察院依法以涉嫌寻衅滋事、非法拘禁等罪对陈建礼等7名“套路贷”团伙成员提起公诉。套路贷团伙被提起公诉 20

促进机器学习模型再利用,Google释出模组打包函式库TensorFlow Hub

为促进机器学习TensorFlow生态系的发展,让开发者的努力可互相交流与再次使用。Google发表TensorFlow△Hub,提供机器学习模组打包函式库,帮开发者把TensorFlow的训练模型发布成模组,方便再次使用或是与社交共享成果

浦发ae卡申请条件有哪些 [热事件]

股城网讯:现在申请信用卡银行方面也加紧了,也就是说不是提交资料就会批。有网友问浦发ae卡申请条件有哪些,申请信用卡一般都会看还款能力,也会看征信,一旦不通过很多信用卡也将不可能批。浦发ae卡审批需要多长时

抢人大战已悄然开启 [热事件]

近日,国家发改委发布《关于实施2018年推进新型城镇化建设重点任务的通知》(下称《通知》)。《通知》明确了2018年新型城镇化建设的五大重点任务,其中提到,继续落实1亿非户籍人口在城市落户方案,加快户籍制度改革

星分期申请条件有哪些 [热事件]

目前,网上出现了很多分期购物平台,这些平台可以帮助大家先买到自己需要的商品,然后再分多期归还贷款。星分期就是分期购物平台之一,可以帮助大家购买电子产品、化妆品、运动商品等。那么,星分期申请条件有哪些呢

I 热点 / Hot