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)

当使用playground运行上述程序时,将得到以下结果 -

Hello, World!

现在看一下Swift 4程序的基本结构,这样您就可以轻松理解Swift 4编程语言的基本构建块。

1. Swift 4导入

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

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

2. Swift 4令牌

Swift 4程序由各种令牌组成,令牌可以是关键字,标识符,常量,字符串文字或符号。 例如,以下Swift 4语句由三个标记组成 -

print("test!")
// The individual tokens are:
print("test!")

3. 注释

注释就像在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
// 这是第二行注释

4.分号

Swift 4不要求你在代码中的每个语句后键入分号(;),尽管它是可选的; 但如果使用分号,那么编译器不会提示有什么不对。

但是,如果在同一行中使用多个语句,则需要使用分号作为分隔符,否则编译器将引发语法错误。 可以写上面的Hello,World! 程序如下 -

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

5.标识

Swift 4标识符是用于标识变量,函数或任何其他用户定义项的名称。 标识符以字母AZaz或下划线_开头,后跟零个或多个字母,下划线和数字(09)。

Swift 4不允许在标识符中包含特殊字符,如@$%。 Swift 4是一种区分大小写的编程语言。 因此,"Manpower""manpower"是Swift 4中的两个不同标识符。以下是有效标识符的一些示例 -

Azad        zara   abc   move_name   a_123
myname50    _temp  j     a23b9       retVal

要使用保留字作为标识符,需要在它之前和之后放置一个反引号(`)。 例如,class 不是有效的标识符,但

`class`

是有效的。

6. 关键字

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

6.空白格

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

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

var age

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

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

fruit=之间,或者=apples之间可不需要空格字符,尽管可以自由地包含一些空格字符以提高可读性。

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

int fruit = apples +oranges    //不符合规范的语句
int fruit = apples + oranges   //符合规范的语句

7.文字值

文字是整数,浮点数或字符串类型的值的源代码表示。 以下是文字值的一些例子 -

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"

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

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


上一篇:Swift开发环境设置

下一篇:Swift数据类型

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程