位置:首頁 > 高級語言 > Swift教學 > Swift基本語法

Swift基本語法

在前一章節中我們已經看到了 Swift 的開發環境設置。 讓我們再次開始用下麵的 OS Xplayground 創建的 Hello,World!程序 ,它包括 import Cocoa ,如下所示:

import Cocoa

/* My first program in Swift */
var myString = "Hello, World!"

println(myString)

如果為 iOS playground 創建相同的程序,然後將包括 import UIKit 語句,程序看起來如下:

import UIKit
var myString = "Hello, World!"
println(myString)

當我們使用適當playground運行上麵的程序,得到以下結果:

Hello, World! 

現在來看看Swift程序的基本結構,因此,這是了解 Swift 編程語言的基本構建塊。

Import 在 Swift 的使用

可以使用 import 語句來直接導入任何 Objective-C框架(或C庫)到 Swift程序。例如上述 import cocoa 語句使所有 Cocoa 庫,APIs,並形成了所有OS X開發層,在運行時可用在 Swift。

Cocoa在Objective-C是C的一個超集實現,所以很容易將C甚至C++混合到 Swift 應用。

Tokens 在 Swift 的使用

Swift程序由各種令牌組成,令牌可以是一個關鍵字,標識符,常量,字符串文字或符號。例如,下麵的Swift語句由三個令牌組成:

println("test!")
The individual tokens are:
println
(
   "test!"
)

注釋

注釋就像幫助文本在 Swift 程序中,它們被編譯器忽略。多行注釋以/*開頭並以*/字符結束,如下圖所示:

/* My first program in Swift */

Swift可以嵌套多行注釋。以下是Swift有效的注釋:

/* My first program in Swift is Hello, World!
/* Where as second program is Hello, Swift! */

單個注釋使用//在注釋的開頭寫入。

// My first program in Swift ,這是一行注釋

分號

Swift不要求必須使用分號(;)在代碼每個語句後麵,雖然其可選的,但是如果使用分號,然後編譯器不會有什麼影響。

但是,如果在同一行,用分號作為分隔符分為多個語句, 否則編譯器將引發語法錯誤。可以重寫上麵的Hello,World!程序如下:

import Cocoa
/* My first program in Swift */
var myString = "Hello, World!"; println(myString)

標識符

Swift 標識符是用於識彆一個變量,函數,或任何其它用戶定義的項目的名稱。一個標識符開始於字母A到Z或a到z或下劃線_後跟零個或多個字母,下劃線和數字(0〜9)。

Swift不允許標識符中有標點字符,如@,$和%。Swift 是區分大小寫的編程語言。因此,Manpower和manpower 在Swift中是兩個不同的標識符。下麵是可接受的標識的一些例子:

Azad       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

要使用保留字作為標識符,需要在標識符之前和之後把它用反引號(')引用起來。例如,class 不是一個有效標識符,但`class`是有效的。

關鍵字

以下關鍵字在 Swift 中保留。這些保留字不要用作常量或變量或任何其它標識符名稱,除非它們用反引號轉義:

在聲明中使用關鍵字

class deinit enum extension
func import init internal
let operator private protocol
public static struct subscript
typealias var
 
 

在語句中使用關鍵詞

break case continue default
do else fallthrough for
if in return switch
where while
 
 

在表達式和類型中使用關鍵字

as dynamicType false is
nil self Self super
true _COLUMN_ _FILE_ _FUNCTION_
_LINE_
 
 
 

在特定情況下使用的關鍵字

associativity convenience dynamic didSet
final get infix inout
lazy left mutating none
nonmutating optional override postfix
precedence prefix Protocol required
right set Type unowned
weak willSet
 
 

空格

僅包含空格,可能帶有注釋行,被稱為一個空行,Swift編譯器完全忽略它。

空格是 Swift 用來描述空格,製表符,換行符和注釋術語。空格分隔一個聲明為另一部分,使編譯器能夠查明在一個聲明中的元素,如int,結束和下一個元素開始。因此,在下麵的語句:

var age

var 和 age 之間必須有至少一個空白字符(通常是一個空間),以便編譯器能夠區分它們。另外,下麵的語句:

int fruit = apples + oranges   //get the total fruits

fruit 和=之間,或=和apples 空格字符不是必須的,但如果希望使用是以可讀性為目的,可以加入一些空格。

字麵量

字麵量是整數,浮點數或字符串類型的一個值的源代碼表示。以下是字麵值的例子:

92               // Integer literal
4.24159          // Floating-yiibai literal
"Hello, World!"  // String literal