0%

Swift 简介

REPL

执行下面的命令可以进入Swift的交互终端。

1
2
3
4
$ xcrun swift

Welcome to Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42). Type :help for assistance.
1>

然后可以输入:help打印帮助信息,:quit来退出交互环境。

常量 与 变量

1
2
let x = 12 // 常量
var y = 12.3 // 常量

类型

类型 特征
Bool true或者false
Int/Int32/Int64 32/64位整数
Int8/Int16 8/16位整数
UInt/UInt32/UInt64 32/64位正整数
UInt8/UInt16 8/16位正整数
Float/Double 可正可负的浮点数
Character 用双引号括起的单个字符、数字或者其他符号
String 用双括号括起的一系列字符

检查上限和下限

1
2
3
4
5
6
15> Int8.max
$R3: Int8 = 127
16> Int16.max
$R4: Int16 = 32767
17> UInt8.max
$R5: UInt8 = 255

显式地声明类型

1
2
22> var number : Double = 3
number: Double = 3

数值表示

各种进制

1
2
3
4
5
48> let b = 0b110 // 二进制
b: Int = 6
49> let b = 0o11 // 八进制
b: Int = 9
50> let b = 0x11 // 十六进制

大数字表示法

1
2
53> let big = 1_000_000_000
big: Int = 1000000000

轻松显示

1
2
3
4
5
6
7
8
9
10
59> let city = "shanghai"
city: String = "shanghai"
60> let food = "noodle"
food: String = "noodle"
61> let restaurant = "KFC"
restaurant: String = "KFC"
62> let year = 5
year: Int = 5
63> print ("When I visited \(city) \(year) years ago, I went to \(restaurant) and ordered \(food)")
When I visited shanghai 5 years ago, I went to KFC and ordered noodle

使用类型别名

1
2
3
4
5
6
72> typealias EightBits = UInt8
73> var reg : EightBits = 0
reg: EightBits = 0
74> typealias NewBits = UInt8
75> var reg : NewBits = 0
reg: NewBits = 0

元祖

1
2
3
4
5
6
7
8
9
10
11
12
79> let car = (2014,"Mercedes-Benz","S-Class")
car: (Int, String, String) = {
0 = 2014
1 = "Mercedes-Benz"
2 = "S-Class"
}
80> car.0
$R28: Int = 2014
81> car.1
$R29: String = "Mercedes-Benz"
82> car.2
$R30: String = "S-Class"

可选类型

在swift显示的类型说明中,有一个问号,可以表明变量的类型是可选类型。

1
2
3
4
5
6
7
8
83> var s="123"
s: String = "123"
84> Int(s)
$R31: Int? = 123
85> var s="abc"
s: String = "abc"
86> Int(s)
$R32: Int? = nil
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道