Swift學習 Swift程式設計之旅(一)

2021-09-07 06:18:58 字數 3218 閱讀 2796

學習一門新語言最經典的例子就是輸出「hello world!」

print("

hello world!

")  swift就是這樣來輸出的。

如果你使用過其他語言,那麼看上去是非常的熟悉吧。但比一些c要簡單的多吧

1、不需要匯入一些單獨的庫,比如輸入/輸出或字串處理功能的類庫,

2、不需要在全域性範圍內編寫的**用於作為入口點程式,所以你不需要 main()函式,

3、不需要寫在每個語句的末尾的分號。這樣寫是不是很簡單~

簡單值

使用let來宣告乙個常量,var宣告乙個變數。乙個常量值在編譯時無須知道,但你只能賦值一次,我們需要在宣告時賦值,如果多次賦值會發生編譯錯誤,如下圖

乙個變數值可以在宣告時賦值,也可以在以後賦值。

常量或者變數的型別必須和賦給它們的值一樣。然而,宣告時型別是可選的,宣告同時賦值的話,編譯器會自動推斷型別。在上面的例子中,編譯器推斷出var1是乙個整數(integer)因為它的初始值是整數。

如果初始值沒有提供足夠的資訊(或者沒有初始值),那你需要在變數後面宣告型別,用冒號分割。

數值不會被隱式轉換為其他型別,必須顯式轉換,例如轉換為字元型

若不顯式轉換會發生編譯錯誤,如下圖

最簡單的轉換為把值寫到括號中,並且在括號之前寫乙個\

常量和變數的命名規則

1.你可以用任何你喜歡的字元作為常量和變數名,包括 unicode 字元

即使你使用中文常量名也是毫無問題的

2.常量與變數名不能包含k數學符號,箭頭,保留的(或者非法的)unicode 碼位,連線與製表符

3.不能以數字開頭

4.一旦你將常量或者變數宣告為確定的型別,你就不能使用相同的名字再次進行宣告,或者改變其儲存的值的型別。同時,你也不能將常量與變數進行互轉。

5.避免使用關鍵字作為常量或變數名

陣列和字典

使用來建立陣列和字典,通過陣列索引或字典的鍵(key)來訪問元素。元素之間使用逗號分隔。

var shoppinglist = ["

catfish

", "

water

", "

tulips

", "

blue paint"]

shoppinglist[

1] = "

bottle of water

"var occupations =[

"malcolm

": "

captain",

"kaylee

": "

mechanic",

]occupations[

"jayne

"] = "

public relations」

我們看一下結果

ok!和我們預期的一樣。

下面我們建立乙個空的陣列和字典

let emptyarray =[string]()//建立乙個元素為字元型別的陣列

let emptydict = [string:float]()//建立乙個key為字元型別,值為浮點型別的字典

如果型別可以被推斷出來,你可以使用和[:]來建立空的陣列和字典。

控制流使用if和switch執行條件操作,使用for-in ,for,while,repeat-while執行迴圈操作。條件或迴圈變數的圓括號是可選的,但是語句體的大括號({})是必須的.

let individualscores = [75, 43, 103, 87, 12

]var teamscore = 0

for score in

individualscores

else

}print(teamscore)//輸出11

在if語句中條件必須是乙個布林(boolean)表示式。在這裡我們明晰可以看出swift語法的簡潔。

var optionalstring: string? = "

hello

"print(optionalstring ==nil)

var optionalname: string? = "

"var greeting = "

hello!

"if let name =optionalname

輸出結果:

false。

因為optionalstring和optionalname都是有具體的值,但如果optionalname=nil的話,那麼greeting輸出結果為hello!

var optionalname: string? = "

"var greeting = "

hello!

"if let name =optionalname

else

輸出結果

false

hello,匿名

switch支援任意型別的資料和各種比較操作,它不侷限於整數和相等的測試

let vegetable = "

red pepper

"switch

vegetable

輸出結果為

is it a spicy red pepper?

Swift學習 Swift程式設計之旅(二)

在本節將介紹一些最基礎的知識 swift提供自己版本的型別,下面說明幾種簡單的型別 int 整型double和float 浮點型 string 字串型 bool 布林型 它也提供了3種主要的強大的集合型別,set集合,array陣列,dictionary字典 和c一樣,swift通過變數類儲存並通過...

Swift 面向協議程式設計之協議擴充套件

協議的命名遵循swift的標準庫,即協議名以 type able ible 結尾。例如 sequencetype,generatortype,customstringcoveeertible,type定義行為,able定義元素怎樣做事。swift 能擴充套件協議 協議可以新增方法和屬性 協議擴充套件...

窺探Swift程式設計之強大的Switch

之前初識swift中的switch語句時,真的是讓人眼前一亮,swift中switch語句有好多特有而且特好用的功能。說到switch,只要是寫過程式的小夥伴對switch並不陌生。其在程式中的出鏡率還是比較高檔。switch屬於程式的分支語句,switch的功能便於處理多個分支的較為複雜點的邏輯分...