1.swift 最新关键字和符号参考:https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html#//apple_ref/doc/uid/TP40014097-CH30-ID410

2.部分关键字解释参考:http://www.cnblogs.com/iCocos/p/4631634.html

3.其他关键字如:

用于递归枚举的indirect:http://wiki.jikexueyuan.com/project/swift/chapter2/08_Enumerations.html

http://www.jianshu.com/p/219025d963a5

用于定义运算级别的operator,precedence,associativity,left,right,none:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html#//apple_ref/doc/uid/TP40014097-CH27-XID_65

用于反射机制的dynamicType:http://ericasadun.com/2014/06/16/swift-more-than-you-probably-want-to-know-about-type-introspection/

dynamic :http://blog.csdn.net/hello_hwc/article/details/40590955

设计到了KVC/KVO在swift中的代码更简单.

用于类似java do while循环的repeat关键字:http://www.runoob.com/swift/swift-repeat-while-loop.html

try 关键字:http://swift.gg/2015/08/31/swift-2-lets-try/

4.关于1的补充:

mutating 关键字:http://swifter.tips/protocol-mutation/

subscript 关键字:http://blog.csdn.net/hello_hwc/article/details/40627633

这个文章写的不错,给的例子也很好.

5.类相关(final的作用跟java的作用基本类似,不同的是java中修饰的属性是只读(已经有了let)的,而swift仅仅表示不能被继承)

override,set/get willSet,didSet,final:http://c.biancheng.net/cpp/html/2430.html

6.自定义运算:http://nshipster.cn/swift-operators/

  • infix 指定了它是一个二元操作符,有左右两个操作数参数
  • operator 是一个保留字,其必须写在 prefixinfix, 或者 postfix 之后
  • ** 是运算符本身
  • associativity left 的意思是操作是从左侧开始分组的
  • precedence 160 意味着它的运算优先级跟指数运算符 << 和 >> (左右位移)一样。

格式:

infix operator ** { associativity left precedence 160 }
infix operator **= { associativity right precedence 90 }
func **= (inout left: Double, right: Double) {
left = left ** right
}

7.相关其他参考:

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html

中文翻译作品:http://www.cocoachina.com/ios/20140612/8799.html

最后不得不提一些swift的特性:

1.支持区间运算符

2.支持闭包(函数是一个特殊闭包,当函数返回一个函数的时候叫柯里化)

3.支持下标操作

4.支持序列协议(自带的功能性协议常用的还有,Comparable协议,实现这一协议的对象都是可以参与比较的)

5.支持where子句(这个在判断,泛型中用到用"并且"的意思)

6.支持unicode变量名和字符.数字可以加下划线区分长度

8.可选绑定,动态绑定,可选链

9.try do catch throws throw 组成的更便捷的异常处理

10.guard简化代码,和refer组合更强大

11.Set集合

12.可无缝的将oc版的cocoa框架转为swift对象,例如NSSString,NSMutableArray.

13.协议和结构体(值类型可以被复制,不可被修改),元组(当函数无返回值的时候->Void 和 ->()是等价的)

14.支持扩展  (这个经常用到)

swift 2中关键字和解释整理的更多相关文章

  1. Swift 3中新的访问控制关键字fileprivate和open

    在Swift 3中除去原有的3个访问控制关键字private,public,internal,又添加了2个关键字fileprivate和open 它们可以看成是对private和public的进一步细 ...

  2. Linux kernel中常见的宏整理

    0x00 宏的基本知识 // object-like #define 宏名 替换列表 换行符 //function-like #define 宏名 ([标识符列表]) 替换列表 换行符 替换列表和标识 ...

  3. sql关键字的解释执行顺序

      sql关键字的解释执行顺序 分类: 笔试面试总结2013-03-17 14:49 1622人阅读 评论(1) 收藏 举报 SQL关键字顺序 表里面的字段名什么符号都不加,值的话一律加上单引号 有一 ...

  4. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  5. C语言中关键字volatile的含义【转】

    本文转载自:http://m.jb51.net/article/37489.htm 本篇文章是对C语言中关键字volatile的含义进行了详细的分析介绍,需要的朋友参考下 volatile 的意思是“ ...

  6. Swift标识符和关键字

    任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的字母均有一定的规范, ...

  7. C语言中关键字auto、static、register、const、volatile、extern的作用

    原文:C语言中关键字auto.static.register.const.volatile.extern的作用 关键字auto.static.register.const.volatile.exter ...

  8. 关于 Swift 4 中内存安全访问

    前言 本文主要翻译今年 The Swift Programming Language (Swift 4) 中新出的章节 -<Memory Safety>.在 Swift 4 中,内存安全访 ...

  9. C#中泛型的解释(object,list,var,dynamic的区别)

    泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的 ...

随机推荐

  1. 【CentOS如何最小化安装】

    近来发现越来越多的运维小伙伴们都有最小化安装系统的洁癖,因此,找老男孩来咨询,这个"洁癖"好习惯啊,必须支持,,因此发布本文和大家分享下. (1)系统安装类型选择及自定义额外包组 ...

  2. Linux学习笔记-epoll

    #include <sys/epoll.h> epoll是Linux内核的一个系统调用,一种可扩展的I/O事件通知机制,最早在Linux内核2.5.44版本引入. 它的功能是监视多文件描述 ...

  3. SpringMVC实现注解式权限验证(转)

    SpringMVC学习系列(9) 之 实现注解式权限验证   对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用serv ...

  4. python字符串和列表

    import sys#sys.argv[0] 被设定为指定模块的全名#脚本名和附加参数传入一个名为 sys.argv 的字符串列表.你能够获取这个列表通过执行 import sys,列表的长度大于等于 ...

  5. asp.net——初识多线程

    1.首先讲解一下什么是线程(该定义是参考线程的百度百科) 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针( ...

  6. Signalr 实现心跳包

    项目分析: 一个实时的IM坐席系统,客户端和坐席使用IM通信,客户端使用android和ios的app,坐席使用web. web端可以保留自己的登录状态,但为防止意外情况的发生(如浏览器异常关闭,断网 ...

  7. redis介绍。

    1. Redis是什么 这个问题的结果影响了我们怎么用Redis.如果你认为Redis是一个key value store, 那可能会用它来代替MySQL;如果认为它是一个可以持久化的cache, 可 ...

  8. UNIX基础--磁盘组织

    磁盘组织 FreeBSD 查找文件的最小单位是文件名. 而文件名区分大小写,不凭文件扩展名去识别这个文件是 程序. 文档, 或是其他格式的数据. 在文件系统里目录和文件的作用是存储数据. 每一个文件系 ...

  9. Chapter 17_2 备忘录函数

    一项通用的编程技术:用空间换时间. 例如有一种做法就可以提高一些函数的运行速度,记录下函数计算的结果,当再次调用该函数时,便可以复用之前的结果. 比如,一个普通服务器,在它收到请求中包含Lua代码,会 ...

  10. Android抓包方法

    0. Fiddler代理 1.tcpdump命令+wireshark工具 adb shell   #登入手机 su          #切换Root用户 /data/local/tcpdump -p ...