位置:首页 > > 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