📜  Swift-基本语法

📅  最后修改于: 2020-12-25 04:21:59             🧑  作者: Mango


设置环境时,我们已经看到了一个Swift 4程序。让我们从下面的Hello World再次开始为OS X Playground创建的程序,其中包括导入可可,如下所示-

/* My first program in Swift 4 */
var myString = "Hello, World!"

print(myString)

如果您为iOS游乐场创建相同的程序,则它将包括导入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语句使构成所有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是区分大小写的编程语言。因此,人力和人力是Swift 4中两个不同的标识符。这是一些可接受的标识符示例-

Azad        zara   abc   move_name   a_123
myname50    _temp  j     a23b9       retVal

要将保留字用作标识符,您需要在其前后加上反引号(`)。例如,是不是一个有效标识符,但“是有效的。

关键词

以下关键字在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编译器完全将其忽略。

空白是在夫特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中打印

要快速打印任何内容,我们有’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。

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