學習一門新語言最經典的例子就是輸出「hello world!」
print("如果你使用過其他語言,那麼看上去是非常的熟悉吧。但比一些c要簡單的多吧hello world!
") swift就是這樣來輸出的。
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在if語句中條件必須是乙個布林(boolean)表示式。在這裡我們明晰可以看出swift語法的簡潔。]var teamscore = 0
for score in
individualscores
else
}print(teamscore)//輸出11
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的功能便於處理多個分支的較為複雜點的邏輯分...