Swift之旅(一)簡單值

來源:互聯網
上載者:User

標籤:swift

按照國際慣例,學習一門新語言寫的第一個程式都是在螢幕上輸出一句 “Hello, world!” 。在Swift裡,一行代碼就搞定了:

println("Hello, world!")

如果你以前寫過C或者Objective-C的代碼,這個文法你肯定看著很眼熟——在Swift裡,這行代碼就已經是一個完整的程式了。你不需要單獨匯入用於像輸入/輸出或者字串處理功能的類庫。寫在全域範圍內的代碼就用來作為程式的進入點,所以不需要main函數。也不需要在每一行語句後面加上分號。

本系列教程通過完成一系列編程執行個體來提供給你足夠的資訊,讓你能用Swift開始寫代碼。如果有些東西看不懂,別擔心——本教程介紹的所有內容都會在其它文章裡詳細解釋。

注意

為了最佳體驗,你可以在Xcode裡建立一個playground,把本教程用到的代碼敲到playground裡。playground可以在你寫完代碼以後馬上看到輸出的結果

定義常量使用 let ,定義變數,使用var。常量的值在編譯時間不需要知道,但必須只能賦一次值。也就是說可以用常量來為一個值進行命名,一次賦值多次使用。

var myVariable = 42myVariable = 50let myConstant = 42

常量或變數都必須與其指定的值具有相同的類型。不過,你不必顯式寫出類型來。在定義常量或變數的時候提供一個值,編譯器就會自己推測它的類型。上面的例子,編譯器推測myVariable是一個整型,因為它的初始值是個整型。

如果初始值沒有提供足夠的資訊(或者沒有初始值),那就在變數名後面寫上冒號,再加上類型名。

let implicitInteger = 70let implicitDouble = 70.0let explicitDouble: Double = 70

試一試

定義一個常量,顯式指定其類型為Float,值為4

值是不會隱式地轉換為其它類型的。如果需要將值轉換為不同類型,需顯示建立目標類型的執行個體。

let label = "The width is "let width = 94let widthLabel = label + String(width)
試一試試著把最後一行字串轉換去掉,看看會有什麼錯誤?

在字串裡加入值還有個更簡單的方法:將值寫在括弧裡,再在括弧前加上反斜線()。如:

let apples = 3let oranges = 5let appleSummary = "I have \(apples) apples."let fruitSummary = "I have \(apples + oranges) pieces of fruit."

試一試

用 \() 在字串裡加入浮點數運算,再在問候語裡加入某人的名字試試

要建立數組和字典,使用方括弧([]),要訪問他們的元素,就在方括弧裡寫索引活著鍵名。

var shoppingList = ["catfish", "water", "tulips", "blue paint"]shoppingList[1] = "bottle of water"var occupations = [    "Malcolm": "Captain",    "Kaylee": "Mechanic",]occupations["Jayne"] = "Public Relations"

要建立一個空數組或字典,使用以下初始化文法。

let emptyArray = [String]()let emptyDictionary = [String: Float]()

如果類型可以推斷出來,可以就寫[]表示空數組,[:]表示空字典——例如,當為變數設定新值或傳參數到函數的時候。

shoppingList = []occupations = [:]

Swift之旅(一)簡單值

相關文章

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.