Swift環(huán)境設(shè)置
在編寫(xiě)Swift程序之前,需要先設(shè)置好Swift開(kāi)發(fā)環(huán)境。Swift提供了一個(gè)Playground平臺(tái)用于學(xué)習(xí)目的,我們同樣也需要設(shè)置。需要提供給 Xcode 軟件的 Swift 編碼在 Playground 中。如果熟悉Swift概念,那么可以使用Xcode IDE來(lái)做ISO/OS X應(yīng)用程序的開(kāi)發(fā)。
首先,需要在蘋(píng)果開(kāi)發(fā)者網(wǎng)站上的注冊(cè)帳戶(hù)(本教程假設(shè)你有開(kāi)發(fā)者帳號(hào))。 如果已登錄蘋(píng)果網(wǎng)站,請(qǐng)?jiān)L問(wèn)以下鏈接:
Download for Apple Developers
這將列出了許多可用的軟件如下:
現(xiàn)在選擇 Xcode 并點(diǎn)擊附近光盤(pán)映像,由給定鏈路上下載。當(dāng)DMG文件下載,那么可以通過(guò)簡(jiǎn)單的雙擊來(lái)安裝它,并按照給定的說(shuō)明執(zhí)行安裝。最后,按照給定的說(shuō)明并將 Xcode 拖放圖標(biāo)進(jìn)入應(yīng)用程序文件夾。首先同意相關(guān)協(xié)議:
輸入管理員密碼,如下圖所示,然后安裝開(kāi)始:
現(xiàn)在,我們已經(jīng)在機(jī)器上安裝了 Xcode,就可以開(kāi)始Swift 的編碼。接下來(lái),打開(kāi) Xcode 中可用的應(yīng)用程序文件夾,并繼續(xù)接受條款和條件。Playground
選擇 Get started with a playground 選項(xiàng),并輸入playground 的名稱(chēng),并選擇作為 iOS 平臺(tái)。最后,會(huì)得到 Playground 窗口如下:
以下是默認(rèn) Swift Playground 窗口使用的代碼。
import UIKit
var str = "Hello, playground"
如果在 OS X 程序中創(chuàng)建相同的程序,那么它將包括 import Cocoa 同樣的程序看起來(lái)如下:
import Cocoa
var str = "Hello, playground"
當(dāng)上面的程序被加載,它應(yīng)顯示以下結(jié)果在Playground結(jié)果區(qū)域(右手邊)。
Hello, playground
恭喜,Swift編程環(huán)境準(zhǔn)備就緒,可以繼續(xù)學(xué)習(xí) Swift 的下面的內(nèi)容了。
Swift基本語(yǔ)法
我們開(kāi)始用下面的 OS Xplayground 創(chuàng)建的 Hello,World!程序 ,它包括 import Cocoa ,如下所示:
import Cocoa
/* My first program in Swift */
var myString = "Hello, World!"
println(myString)
如果為 iOS playground 創(chuàng)建相同的程序,然后將包括 import UIKit 語(yǔ)句,程序看起來(lái)如下:
import UIKit
var myString = "Hello, World!"
println(myString)
當(dāng)我們使用適當(dāng)playground運(yùn)行上面的程序,得到以下結(jié)果:
Hello, World!
現(xiàn)在來(lái)看看Swift程序的基本結(jié)構(gòu),因此,這是了解 Swift 編程語(yǔ)言的基本構(gòu)建塊。
Import 在 Swift 的使用
可以使用 import 語(yǔ)句來(lái)直接導(dǎo)入任何 Objective-C框架(或C庫(kù))到 Swift程序。例如上述 import cocoa 語(yǔ)句使所有 Cocoa 庫(kù),APIs,并形成了所有OS X開(kāi)發(fā)層,在運(yùn)行時(shí)可用在 Swift。
Cocoa在Objective-C是C的一個(gè)超集實(shí)現(xiàn),所以很容易將C甚至C++混合到 Swift 應(yīng)用。
Tokens 在 Swift 的使用
Swift程序由各種令牌組成,令牌可以是一個(gè)關(guān)鍵字,標(biāo)識(shí)符,常量,字符串文字或符號(hào)。例如,下面的Swift語(yǔ)句由三個(gè)令牌組成:
println("test!")
The individual tokens are:
println
(
"test!"
)
注釋
注釋就像幫助文本在 Swift 程序中,它們被編譯器忽略。多行注釋以/*開(kāi)頭并以*/字符結(jié)束,如下圖所示:
/* My first program in Swift */
Swift可以嵌套多行注釋。以下是Swift有效的注釋?zhuān)?
/* My first program in Swift is Hello, World!
/* Where as second program is Hello, Swift! */
單個(gè)注釋使用//在注釋的開(kāi)頭寫(xiě)入。
// My first program in Swift ,這是一行注釋
分號(hào)
Swift不要求必須使用分號(hào)(;)在代碼每個(gè)語(yǔ)句后面,雖然其可選的,但是如果使用分號(hào),然后編譯器不會(huì)有什么影響。
但是,如果在同一行,用分號(hào)作為分隔符分為多個(gè)語(yǔ)句, 否則編譯器將引發(fā)語(yǔ)法錯(cuò)誤。可以重寫(xiě)上面的Hello,World!程序如下:
import Cocoa
/* My first program in Swift */
var myString = "Hello, World!"; println(myString)
標(biāo)識(shí)符
Swift 標(biāo)識(shí)符是用于識(shí)別一個(gè)變量,函數(shù),或任何其它用戶(hù)定義的項(xiàng)目的名稱(chēng)。一個(gè)標(biāo)識(shí)符開(kāi)始于字母A到Z或a到z或下劃線(xiàn)_后跟零個(gè)或多個(gè)字母,下劃線(xiàn)和數(shù)字(0?9)。
Swift不允許標(biāo)識(shí)符中有標(biāo)點(diǎn)字符,如@,$和%。Swift 是區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,Manpower和manpower 在Swift中是兩個(gè)不同的標(biāo)識(shí)符。下面是可接受的標(biāo)識(shí)的一些例子:
Azad zara abc move_name a_123myname50 _temp j a23b9 retVal
要使用保留字作為標(biāo)識(shí)符,需要在標(biāo)識(shí)符之前和之后把它用反引號(hào)(')引用起來(lái)。例如,class 不是一個(gè)有效標(biāo)識(shí)符,但`class`是有效的。
關(guān)鍵字
以下關(guān)鍵字在 Swift 中保留。這些保留字不要用作常量或變量或任何其它標(biāo)識(shí)符名稱(chēng),除非它們用反引號(hào)轉(zhuǎn)義:
在聲明中使用關(guān)鍵字
在語(yǔ)句中使用關(guān)鍵詞
在表達(dá)式和類(lèi)型中使用關(guān)鍵字
在特定情況下使用的關(guān)鍵字
空格
僅包含空格,可能帶有注釋行,被稱(chēng)為一個(gè)空行,Swift編譯器完全忽略它。
空格是 Swift 用來(lái)描述空格,制表符,換行符和注釋術(shù)語(yǔ)。空格分隔一個(gè)聲明為另一部分,使編譯器能夠查明在一個(gè)聲明中的元素,如int,結(jié)束和下一個(gè)元素開(kāi)始。因此,在下面的語(yǔ)句:
var age
var 和 age 之間必須有至少一個(gè)空白字符(通常是一個(gè)空間),以便編譯器能夠區(qū)分它們。另外,下面的語(yǔ)句:
int fruit = apples + oranges //get the total fruits
fruit 和=之間,或=和apples 空格字符不是必須的,但如果希望使用是以可讀性為目的,可以加入一些空格。
字面量
字面量是整數(shù),浮點(diǎn)數(shù)或字符串類(lèi)型的一個(gè)值的源代碼表示。以下是字面值的例子:
92 // Integer literal
4.24159 // Floating-yiibai literal
"Hello, World!" // String literal