1、我的第一個Swift程序
傳統表明,用新語言編寫的第一個程序應該在屏幕上打印「Hello,world!」。在Swift中,這可以在一行中完成:
在Swift中,這行代碼是一個完整的程序。您不需要爲輸入/輸出或字符串處理等功能導入單獨的庫。在全局範圍編寫的代碼被用作程序的入口點,所以你不需要一個main()
函數。您也不需要在每個語句的末尾都寫分號。
2、常量和變量
使用let
做一個常數,var是
一個變量。在編譯時不需要知道常量的值,但必須爲其賦值一次。這意味着您可以使用常量來命名一次您確定一次但在許多地方使用的值。
常量或變量必須與要分配給它的值具有相同的類型。但是,您並不總是必須明確地寫出類型。在創建常量或變量時提供值可讓編譯器推斷其類型。在上面的例子中,編譯器推斷這myVariable
是一個整數,因爲它的初始值是一個整數。
如果初始值沒有提供足夠的信息(或者沒有初始值),請在變量之後寫入,並用冒號分隔來指定類型。
3、值類型
值永遠不會被隱式轉換爲另一種類型。如果您需要將值轉換爲其他類型,請顯式創建所需類型的實例。
4、在字符串中包含值的方法更爲簡單:將值寫入括號中,並在括號\
之前寫入反斜槓()。
"""
對於佔用多行的字符串 使用三個雙引號()。只要符合收尾引號的縮進,每個引用行開頭的縮進就會被刪除。
5、數組和字典
創建一個空數組或字典,請使用初始化程序語法。
let emptyArray = [String]()
let emptyDictionary = [String:Float]()
使用括號([]
)創建數組和字典,並通過將括號中的索引或鍵寫入它們來訪問它們的元素。在最後一個元素之後允許逗號。
1、使用if
和switch
製作條件語句 , 使用for
- in
,while
和repeat
- while
進行循環。 條件或循環變量的括號是可選的。身體周圍的括號是必需的。
在if
聲明中,條件必須是一個布爾表達式 - 這意味着代碼如if score { ... }
錯誤,而不是隱式比較爲零。
2、可選值
使用if
並let
一起使用表示可能缺失的值。這些值表示爲可選項。可選值包含值或包含nil
以指示缺少值。在值的類型後面寫一個問號?()以將該值標記爲可選。
處理可選值的另一種方法是使用??
運算符提供默認值。如果可選值缺失,則使用默認值。
let nickName:String? = nil
let fullName:String = "John Appleseed"
let informalGreeting = "Hi \(nickName ??fullName)"
3、交換機支持任何種類的數據和各種比較操作 - 它們不限於整數和相等性測試。
請注意,如何在let
模式中使用將與之模式匹配的值分配給常量。
在匹配的switch case內部執行代碼後,程序從switch語句中退出。執行不會延續到下一個案例,因此不需要在每個案例的代碼末尾顯式地跳出交換機。
4、字典中的for-in
for
- in
通過提供一對用於每個鍵值對的名稱來迭代字典中的項目。字典是無序集合,所以它們的鍵和值以任意順序迭代。
使用while
重複的代碼塊,直到完成變化。循環的條件可以在最後,確保循環至少運行一次。
使用func
聲明函數。通過使用括號中的參數列表跟隨其名稱來調用函數。使用func
聲明函數。通過使用括號中的參數列表跟隨其名稱來調用函數。用 ->
從函數的返回類型中分離參數名稱和類型。
默認情況下,函數使用它們的參數名稱作爲其參數的標籤。在參數名稱之前寫入自定義參數標籤,或寫入 _
以使用不帶參數標籤。
2、函數與元組
使用一個元組來創建一個複合值 - 例如,從一個函數返回多個值。元組的元素可以通過名字或數字來引用。