在設定環境時已經看過一段Swift 4程式。使用以下「Hello,World!」 為OS X playground 建立的程式,包括import Cocoa
,如下所示 -
/* My first program in Swift 4 */
var myString = "Hello, World!"
print(myString)
如果為iOS playground 建立程式,那麼它將包含import UIKit
,程式將如下所示 -
import UIKit
var myString = "Hello, World!"
print(myString)
當使用playground執行上述程式時,將得到以下結果 -
Hello, World!
現在看一下Swift 4程式的基本結構,這樣您就可以輕鬆理解Swift 4程式設計語言的基本構建塊。
使用import
語句將任何Objective-C框架(或C庫)直接匯入到Swift 4程式中。 例如,上面的import cocoa
語句使得構成所有OS X的開發層的所有Cocoa庫,API和執行時都可以在Swift 4中使用。
Cocoa是在Objective-C中實現的,它是C語言的超集,因此很容易將C語言甚至C++混合到Swift 4應用程式中。
Swift 4程式由各種令牌組成,令牌可以是關鍵字,識別符號,常數,字串文字或符號。 例如,以下Swift 4語句由三個標記組成 -
print("test!")
// The individual tokens are:
print("test!")
注釋就像在Swift 4程式中幫助文字一樣,它們會被編譯器忽略。 多行注釋以/*
開頭,並以字元*/
結尾,如下所示 -
/* My first program in Swift 4 */
多行註釋可以巢狀在Swift 4中。以下是Swift 4中的有效註釋 -
/* My first program in Swift 4 is Hello, World!
/* Where as second program is Hello, Swift 4! */ */
在註釋的開頭使用//
編寫單行注釋。
// My first program in Swift 4
// 這是第二行注釋
Swift 4不要求你在程式碼中的每個語句後鍵入分號(;
),儘管它是可選的; 但如果使用分號,那麼編譯器不會提示有什麼不對。
但是,如果在同一行中使用多個語句,則需要使用分號作為分隔符,否則編譯器將引發語法錯誤。 可以寫上面的Hello,World! 程式如下 -
/* My first program in Swift 4 */
var myString = "Hello, World!"; print(myString)
Swift 4識別符號是用於標識變數,函式或任何其他使用者定義項的名稱。 識別符號以字母A
到Z
或a
到z
或下劃線_
開頭,後跟零個或多個字母,下劃線和數位(0
到9
)。
Swift 4不允許在識別符號中包含特殊字元,如@
,$
和%
。 Swift 4是一種區分大小寫的程式設計語言。 因此,"Manpower"
和"manpower"
是Swift 4中的兩個不同識別符號。以下是有效識別符號的一些範例 -
Azad zara abc move_name a_123
myname50 _temp j a23b9 retVal
要使用保留字作為識別符號,需要在它之前和之後放置一個反引號(`)。 例如,class 不是有效的識別符號,但
`class`
是有效的。
Swift 4中保留了以下關鍵字。這些保留字不能用作常數或變數或任何其他識別符號名稱,除非它們用反引號跳脫 -
宣告中使用的關鍵字 -
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 4編譯器完全忽略它。
空白格(Whitespace)是Swift 4中用來描述空格,製表符,換行符和注釋的術語。 空格將語句的一部分與另一部分分開,並使編譯器能夠識別語句中的一個元素(如int
)的結束位置以及下一個元素的開始位置。 因此,在以下宣告中 -
var age
var
和age
之間必須至少有一個空格字元(通常是空格),以便編譯器能夠區分它們。 另一方面,在以下宣告中 -
int fruit = apples + oranges //get the total fruits
fruit
和=
之間,或者=
和apples
之間可不需要空格字元,儘管可以自由地包含一些空格字元以提高可讀性。
運算子兩側的空間應相等,例如 -
int fruit = apples +oranges //不符合規範的語句
int fruit = apples + oranges //符合規範的語句
文字是整數,浮點數或字串型別的值的原始碼表示。 以下是文字值的一些例子 -
92 // Integer literal
4.24159 // Floating-point literal
"Hello, World!" // String literal
要在swift中列印任何內容,需要使用print
關鍵字。
列印有三種不同的屬性。
下面來看一個例子和語法 -
print("Items to print", separator: "Value " , terminator: "Value")
// E.g. of print statement.
print("Value one")
// prints "Value one \n" Adds, \n as terminator and " " as separator by
default.
print("Value one","Value two", separator: " Next Value" , terminator: " End")
//prints "Value one Next Value Value two End"
在上面的程式碼中,第一個print
語句預設新增\n
,新換行作為終止符,而在第二個print
語句中給出了「End」
作為終止符,因此它將列印「End」
而不是\n
。
我們可以根據要求提供客製化分隔符和終止符。