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

來源:互聯網
上載者:User

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

  學習一門新語言最經典的例子就是輸出“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 = 0for 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?

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.