Swift 基本语法

Swift 基本语法

我们在设置环境时已经见过一段 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)

当我们在适当的游戏场中运行上述程序时,我们将得到以下结果−

Hello, World!

现在让我们来看一下Swift 4程序的基本结构,这样你就可以容易地理解Swift 4编程语言的基本构建块。

Swift 4中的导入

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

Cocoa是用Objective-C实现的,它是C的超集,因此在Swift 4应用程序中混合使用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是 区分大小写 的编程语言。因此,在Swift 4中,Manpower和manpower是两个不同的标识符。以下是一些可接受的标识符示例−

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 编译器完全忽略它。

空白是 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 - 要打印的项目

Separator - 项目之间的分隔符

Terminator - 行应以哪个值结束,让我们看一个示例和相同的语法。

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。

我们可以根据需求设置自定义的分隔符和终止符。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程