随着iphone7,iOS10的swift也迎来了自己的第三个版本swift3.0。自己也写过不少swift代码,感觉要升级到swift3的时候还是挺没有底的,看了swift的部落格感觉特别好。遂决定整理写写分享一下自己也巩固巩固。
首先声明,这些都是从官方的blog看来的,由于确实很多而且很细,很多的修改大家平时很少能用上而且不一定顾得上看,我就做一个不合格的搬运工把自己觉得有收获的重要的整理分享一下。
SE-0002
去除了currying。
这个想必大家肯定早有耳闻了,官网上也是给出了usefulness这样的评价,相信大家肯定用的很少所以知道就行了。
SE-0003
在func的参数中移除了var的参数声明。
由于在语义上var和inout容易混淆而且作用基本相同,两者都是在函数运行时内存中声明一个可变拷贝,区别就是inout会自动写回,var不会。
SE-0004
移除++和——操作符。
自增和自减操作符是从C遗传过来的,虽然看着使用简单又方便,可是方便却又十分昂贵。苹果真是狠把这个C语言的经典功能和for循环一起直接砍掉了。
SE-0005 && SE-0006
重新定义了swift的命名规范,坦白来说还是非常人性化,总结一句这很swift
SE-0007
去除c语言的for循环
SE-0025
域的权限等级
在swift2中,域的操作等级苹果觉得凭不是非常灵活而且并不能更精准的控制,所以从三个等级变成了五个等级添加了open和file-private。将以前的private降为类内部可见以前为文件内可见,interal没有变化,将file-private改为以前的private的文件内可见,open为其他module可见。控制更加细粒。
SE-0029
移除tuple直接调用方法
一般的调用
- func foo(a : Int, b : Int) {}
- foo(42, b : 17)
复制代码
(未完待续)