【Basics】
1、You can declare multiple constants or multiple variables on a single line, separated by commas:
2、You can use almost any character you like for constant and variable names, including Unicode characters:
当声明一个变量后,你无法改变其类型,也无法从const发为非const。
3、注释可以多行嵌套:
4、Semicolons are required, however, if you want to write multiple separate statements on a single line:
5、通过min、max属性可以获得一个类型的最大最小值。
6、Int类型的数据范围随平台的不同而不同:
7、Numeric Literals
8、带指数的浮点数
9、Both integers and floats can be padded with extra zeroes and can contain underscores to help with readability.
可以添加额外的前缀0,以及添加增可读性的_。
10、类型不同的Int不能直接相加,必须进行类型转换。
11、Floating-point values are always truncated when used to initialize a new integer value in this way. This means that 4.75 becomes 4, and -3.9 becomes -3.
浮点数会被截断,即舍弃小数部分,直接返回整数部分。
12、typealias类型于C++中的typedef:
13、Tuple中的值可以分别为不同的类型。
Tuple的内容也可被解放出来:
也可只释放出tuple中的部分值:
也可通过index来访问tuple中的内容:
也可以给tuple中的每个元素命名:
命名后可以通过名字来访问:
14、optional value可以在其名字后面加上!来直接引用其值,叫unwrapping。如果不加!,runtime会进行判空逻辑。
15、=号不返回值,即不可以写a=b=c。
16、两个Character类型相加会得到String类型。
17、%是remainder运算符,a%b与a%(-b)结果是一样的。
%也可用在浮点数上:
18、unary plus operator (+)
19、 ===与!==用于判断两个reference是否引用同一个内存。
20、The closed range operator (a...b) defines a range that runs from a to b, and includes the values a and b.
The half-closed range operator (a..b) defines a range that runs from a to b, but does not include b.
21、Swift’s String type is bridged seamlessly to Foundation’s NSString class.
22、You can find out whether a String value is empty by checking its Boolean isEmpty property:
23、Swift’s String type is a value type. If you create a new String value, that String value is copied when it is passed to a function or method, or when it is assigned to a constant or variable。
To retrieve a count of the characters in a string, call the global countElements function and pass in a string as the function’s sole parameter: