Skip to content
On this page

基本语法

创建 OXS playground 需要引入 Cocoa

swift
import Cocoa

var str = "imondo.cn"

print(str)

创建 IOS playground 需要引入 UIKit

swift
import UIKit

var str = "imondo.cn"

print(str)

输出结果

imondo.cn

以上代码为 Swift 程序的基本结构,接下来说明结构的组成部分。

Swift 引入

可以使用 import 语句来引入任何的 Objective-C 框架(或 C 库)到 Swift 程序中。例如 import cocoa 语句导入了使用了 Cocoa 库和 API,我们可以在 Swift 程序中使用他们。

Cocoa 本身由 Objective-C 语言写成,Objective-C 又是 C 语言的严格超集,所以在 Swift 应用中我们可以很简单的混入 C 语言代码,甚至是 C++ 代码。

Swift 标记

Swift 程序由多种标记组成,标记可以是单词,标识符,常量,字符串或符号。例如以下 Swift 程序由三种标记组成:

swift
print("test!")
// 标记是:单词、符号
print
(
   "test!"
)

注释

和其他语言一致,单行,多行

swift
// 单行注释

/**
  多行注释
 */

分号

与其他语言不同,Swift 不要求在每行语句的结尾使用分号(😉,但是,当你在同一行写多条语句时,必须用分号隔开

swift
import Cocoa
var str = "imondo.cn";print(str)

标识符

标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。

构成标识符的字母均有一定的规范,Swift 语言中标识符的命名规则如下:

  • 区分大小写;Mynamemyname 是两个不同的标识符

  • 标识符首字符可以以下划线 _ 或者字母开始,但不能是数字

  • 标识符中其他字符可以是下划线 _ 、字母或数字

关键字

与声明有关的关键字

classdeinitenumextension
funcimportinitinternal
letoperatorprivateprotocol
publicstaticstructsubscript
typealiasvar

与语句有关的关键字

breakcasecontinuedefault
doelsefallthroughfor
ifinreturnswitch
wherewhile

表达式和类型关键字

asdynamicTypefalseis
nilselfSelfsuper
trueCOLUMNFILEFUNCTION
LINE

在特定上下文中使用的关键字

associativityconveniencedynamicdidSet
finalgetinfixinout
lazyleftmutatingnone
nonmutatingoptionaloverridepostfix
precedenceprefixProtocolrequired
rightsetTypeunowned
weakwillSet

Swift 空格

Swift 对空格的使用有一定的要求

Swift 中,运算符不能直接跟在变量或常量的后面。例如下面的代码会报错:

swift
let a= 1 + 2

let a = 1+ 2

只有这样写才不会报错:

swift
let a = 1 + 2;  // 编码规范推荐使用这种写法
let b = 3+4 // 这样也可以

Swift 字面量

所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。比如在下面:

swift
32                 // 整型字面量
3.14159            // 浮点型字面量
"imondo.cn"        // 字符串型字面量
true               // 布尔型字面量