一、基礎(chǔ)知識
1.1、Swift 不用編寫main函數(shù)(本質(zhì)上swift是有main函數(shù)的),Swift將全局范圍內(nèi)的首句可執(zhí)行代碼作為程序入口
1.2、一句代碼尾部可以省略分號(
;),多句代碼寫到同一行時必須用分號(;)隔開1.3、用var定義變量,let定義常量,編譯器能自動推斷出變量\常量的類型
1.4、Playground可以快速預(yù)覽代碼效果,是學(xué)習(xí)語法的好幫手
-
1.5、運(yùn)行代碼的快捷鍵
Command + Shift + Enter:運(yùn)行整個Playground Shift + Enter:運(yùn)行截止到某一行代碼(前提是鼠標(biāo)放到某一行) -
1.6、代碼的注釋
-
單行注釋
// 單行注釋 -
多行注釋
/* 多行注釋 */ -
嵌套注釋
/* /* 嵌套注釋 */ */
-
-
1.7、代碼的注釋支持
Markup 語法類似于 Markdown 語法在上面注釋開始后面加上 : 就可以支持 Markup 語法(在Editor->Show Raw Markup 里面打開)
-
設(shè)置上一頁和下一頁,可以跳轉(zhuǎn)相鄰的 PlayGround Page
// [下一頁](@next) // [上一頁](@previous)
跳轉(zhuǎn)相鄰的 PlayGround Page提示:
- 在
View->Navigators->Show Project Navigator設(shè)置打開Playground的左側(cè)的欄框 - 右擊可以選擇
New Playground Page創(chuàng)建多個Page
二、常量
- 2.1、常量的特點
- 只能賦值一次
- 它的值不要求在編譯時期確定,但使用之前必須賦值一次
常量的特點例子:給未知的類型賦值是錯誤的
三、標(biāo)識符
- 3.1、標(biāo)識符的特點
- 標(biāo)識符(比如常量名、變量名、函數(shù)名)幾乎可以使用任何字符
- 標(biāo)識符不能以數(shù)字開頭,不能包含空白字符、制表符、箭頭等特殊字符
標(biāo)識符的舉例
四、常見的數(shù)據(jù)類型
常見的數(shù)據(jù)類型
- 4.1、分析下面的數(shù)據(jù)類型
整數(shù)類型:Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64n
在32bit平臺,Int等價于Int32,占用4個字節(jié);在64bit平臺,,Int等價于Int64 ,占用8個字節(jié)
求某種數(shù)據(jù)類型的最大值,在其后面加
.max;如:UInt8.max、Int16.min一般情況下,都是直接使用Int即可
-
浮點類型:Float,32位,精度只有6位;Double,64位,精度至少15位,如下:
let letFloat:Float = 20.0 如果想要 Float類型,就加上 Float let letDouble = 30.0 默認(rèn)情況下就是 Double 類型
五、字面量
-
5.1、布爾
let bool = true // 取反是 false -
5.2、字符串:提示不需要寫類型,Swift可以自動推算類型的
let string = "小二" -
5.3、字符(可存儲 ASCII 字符,Unicode字符),提示:如果我們?nèi)サ?
Character,Swift 會認(rèn)為這個是 字符串let character: Character = "??" -
5.4、整數(shù)
let intDecimal = 17 // 十進(jìn)制 let intBinary = 0b10001 // 二進(jìn)制 let intOctal = 0o21 // 八進(jìn)制 let intHexadcial = 0x11 // 十六進(jìn)制 -
5.5、浮點數(shù)
-
十進(jìn)制 等價于 1.25e2 : e2代表10的2次方,0.0125 等價于 1.25e-2
let doubleDecimal = 125.0 -
十六進(jìn)制,意味著 15x2^2,相當(dāng)于十進(jìn)制的 60.0
let doubleHexadecimal1 = 0xFp2 -
十六進(jìn)制,意味著 15x2^-2,相當(dāng)于十進(jìn)制的 3.75
let doubleHexadecimal2 = 0xFp-2
提示:
- 在十六進(jìn)制中使用
p來表示2的n次方 - 整數(shù)和浮點數(shù)可以添加額外的0或者添加下劃線
_來增強(qiáng)可讀性,如:一百萬:100_0000、1_000_000.000_000_1、000123.456
-
-
5.6、數(shù)組
let array = [1,2,3,4] -
5.7、字典
let dictionry = {"a":"1","b":"2","c":"3","d":"4"}
五、類型轉(zhuǎn)換
-
5.1、整數(shù)轉(zhuǎn)換:類型不相同的變量無法直接相加,必須進(jìn)行強(qiáng)制轉(zhuǎn)換,如下
let int1:UInt16 = 2_000 let int2:UInt8 = 3 let int3 = int1 + UInt16(int2) -
5.2、整數(shù)和浮點數(shù)轉(zhuǎn)換, 語法是 :
類型(值)let int = 3 let double = 0.123 let pi = Double(int) + double let intPi = Int(pi) -
5.3、為什么字面量可以直接相加?那是因為字面量本身沒有明確的類型,如下:
let result = 3 + 0.234
六、元組(tuple)
元組是 Swift 語言中重要的數(shù)據(jù)類型之一,它允許一些不相關(guān)的類型進(jìn)行自由組合成為新的集合類型。在OC里面是不支持的。
-
6.1、舉例一
let http404Error = (404,"Not Found") print("The status code is \(http404Error.0)")元組 0、1、2 的取值
-
6.2、舉例二
let (statusCode,statusMessage) = http404Error print("The status code is \(statusCode)")元組直接賦值
-
6.3、舉例三
let (juestTheStatusCode,_) = http404Error print("The status code is \(juestTheStatusCode)")_代表忽略的意思 -
6.4、舉例四
let http200Status = (statusCode:200,description:"OK") print("The status code is \(http200Status.statusCode)")提示:給 元組設(shè)置別名
元組總結(jié):雖然使用起來非常的方便,然而其只適用于簡單數(shù)據(jù)的組合,對于結(jié)構(gòu)復(fù)雜的數(shù)據(jù),要才用結(jié)構(gòu)體和類來實現(xiàn)。



