【Swift學習】Swift編程之旅(一)

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

print("Hello World!")  swift就是這樣來輸出的。

若是你使用過其餘語言,那麼看上去是很是的熟悉吧。但比一些c要簡單的多吧數組

一、不須要導入一些單獨的庫,好比輸入/輸出或字符串處理功能的類庫,函數

二、不須要在全局範圍內編寫的代碼用於做爲入口點程序,因此你不須要 main()函數,學習

三、不須要寫在每一個語句的末尾的分號。這樣寫是否是很簡單~測試

 

  簡單值spa

使用let來聲明一個常量,var聲明一個變量。一個常量值在編譯時無須知道,但你只能賦值一次,咱們須要在聲明時賦值,若是屢次賦值會發生編譯錯誤,以下圖3d

一個變量值能夠在聲明時賦值,也能夠在之後賦值。code

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

若是初始值沒有提供足夠的信息(或者沒有初始值),那你須要在變量後面聲明類型,用冒號分割。
 
數值不會被隱式轉換爲其餘類型,必須顯式轉換,例如轉換爲字符型
 
若不顯式轉換會發生編譯錯誤,以下圖
 
 
最簡單的轉換爲把值寫到括號中,而且在括號以前寫一個\
 
   
常量和變量的命名規則
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 { if score > 50 { teamScore += 3 } else { teamScore += 1 } } print(teamScore)//輸出11

 

在if語句中條件必須是一個布爾(Boolean)表達式。在這裏咱們明晰能夠看出swift語法的簡潔。

var optionalString: String? = "Hello" print(optionalString == nil) var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello, \(name)" }

 

 輸出結果:

false。

Hello, John Appleseed

由於optionalString和optionalName都是有具體的值,但若是optionalName=nil的話,那麼greeting輸出結果爲Hello!

 

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}
else{
greeting = "Hello,匿名"
}

 

輸出結果

false

Hello,匿名

 

switch支持任意類型的數據和各類比較操做,它不侷限於整數和相等的測試

let vegetable = "red pepper" switch vegetable { case "celery": print("Add some raisins and make ants on a log.") case "cucumber", "watercress": print("That would make a good tea sandwich.") case let x where x.hasSuffix("pepper"): print("Is it a spicy \(x)?") default: print("Everything tastes good in soup.") }

 

 

輸出結果爲

Is it a spicy red pepper?

相關文章
相關標籤/搜索