Swift - 基本语法


我们在搭建环境时已经看到了一段 Swift 4 程序。让我们再次从下面的Hello, World! 开始吧!为 OS X Playground 创建的程序,其中包括导入 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 编程语言的基本构建块。

在 Swift 4 中导入

您可以使用import语句将任何 Objective-C 框架(或 C 库)直接导入到您的 Swift 4 程序中。例如,上面的import cocoa语句使得构成所有 OS X 开发层的所有 Cocoa 库、API 和运行时都可以在 Swift 4 中使用。

Cocoa 是用 Objective-C 实现的,Objective-C 是 C 的超集,因此很容易将 C 甚至 C++ 混合到 Swift 4 应用程序中。

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 中被保留。这些保留字不能用作常量或变量或任何其他标识符名称,除非它们用反引号转义 -

声明中使用的关键字

班级 去初始化 枚举 扩大
功能 进口 在里面 内部的
操作员 私人的 协议
民众 静止的 结构体 下标
类型别名 变量

语句中使用的关键字

休息 案件 继续 默认
别的 失败 为了
如果 返回 转变
在哪里 尽管

表达式和类型中使用的关键字

作为 动态类型 错误的
自己 自己 极好的
真的 _柱子_ _文件_ _功能_
_线_

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

关联性 方便 动态的 已设置
最终的 得到 中缀 进出
懒惰的 左边 变异 没有任何
不变异的 选修的 覆盖 后缀
优先级 字首 协议 必需的
正确的 类型 无主的
虚弱的 将设置

空格

仅包含空格(可能带有注释)的行称为空行,Swift 4 编译器完全忽略它。

空白是 Swift 4 中用来描述空白、制表符、换行符和注释的术语。空格将语句的一部分与另一部分分隔开,并使编译器能够识别语句中的一个元素(例如 int)结束以及下一个元素开始的位置。因此,在以下声明中 -

var age

varage之间必须至少有一个空白字符(通常是空格),以便编译器能够区分它们。另一方面,在以下声明中 -

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

水果和 = 之间或 = 和苹果之间不需要空格字符,尽管您可以自由地添加一些空格字符以获得更好的可读性。

运算符两侧的空间应该相等,例如。

int fruit = apples +oranges    //is a wrong statement
int fruit = apples + oranges   //is a Correct statement

文字

文字是整数、浮点数或字符串类型值的源代码表示形式。以下是文字示例 -

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

在 Swift 中打印

要在 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"

在上面的代码中,第一个打印语句默认添加 \n ,换行符 Feed 作为终止符,而在第二个打印语句中,我们给出了“ End ”作为终止符,因此它将打印“ End ”而不是 \n 。

我们可以根据我们的要求提供定制分隔符和终止符。