Swift基本语法怎么写?新手入门规则有哪些?

文章导读
Previous Quiz Next 如果 Swift 安装成功,将显示最新的 Swift 版本。Swift 是一种强大且富有表现力的语言,用于为 Apple 设备开发应用程序。它设计得易于阅读、编写和维护。它还支持面向对象和函数式编程范式。
📋 目录
  1. 语法
  2. Import 语句
  3. Tokens
  4. 分号
  5. 标识符
  6. 关键字
  7. 空白字符
  8. 字面量
  9. Swift 中的打印
  10. 条件语句
A A

Swift - 基本语法



Previous
Quiz
Next

如果 Swift 安装成功,将显示最新的 Swift 版本。Swift 是一种强大且富有表现力的语言,用于为 Apple 设备开发应用程序。它设计得易于阅读、编写和维护。它还支持面向对象和函数式编程范式。

语法

它的语法更加清晰、简洁且易于阅读。现在让我们来看看 Swift 程序的基本结构,这样你就能轻松理解 Swift 编程语言的基本构建模块。

/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"

print(myString)

以上程序的输出如下 −

Hello, World!

现在让我们学习基本的语法以及如何在你的 Swift 程序中使用它们。

Import 语句

你可以使用 import 语句将任何 Objective-C framework 或 C library 或 Swift library 直接导入到你的 Swift 程序中。例如,import cocoa 语句会使所有构成 OS X 开发层的 Cocoa library、API 和 runtime 在 Swift 中可用。Cocoa 是用 Objective-C 实现的,而 Objective-C 是 C 的超集,因此可以将 C 甚至 C++ 轻松混入你的 Swift 应用程序中。

语法

以下是 import 语句的语法 −

import frameworkName or LibraryName

示例

import Foundation

Tokens

Swift 程序由各种 tokens 组成。token 是程序的最小单元,用于构建 Swift 程序的块。它们可以是关键字、标识符、常量、字符串字面量或符号。

示例

Swift 程序演示 tokens 的使用。此程序包含 10 个 tokens,例如 import、Foundation、var、myString 等。

import Foundation
var myString = 34
print(myString)

输出

34

分号

在 Swift 中,每个语句后的分号是可选的。是否在代码的每个语句后输入分号(;)完全取决于你,编译器不会对此抱怨。

但是,如果你在同一行使用多个语句,则必须使用分号作为分隔符,否则编译器将引发语法错误。

示例

Swift 程序演示在单行中使用分号。

// 使用分号分隔多个语句
var myString = "Hello, World!"; print(myString)

输出

Hello, World!

标识符

Swift 标识符是用于标识变量、function 或任何其他用户定义项的名称。标识符名称必须以字母 A 到 Z 或 a 到 z 或下划线 _ 开头,后跟零个或多个字母、下划线和数字(0 到 9)。

Swift 不允许在标识符中使用特殊字符,如 @、$ 和 % 。Swift 是一种 区分大小写 的编程语言,因此 Manpower 和 manpower 在 Swift 中是两个不同的标识符。

示例

以下是一些有效的 Swift 标识符 −

Azad       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

关键字

关键字是 Swift 中可用的特殊预定义单词,具有特殊的含义和功能。它们也被称为保留字。这些保留字不能用作常量、变量或任何其他标识符名称,除非使用反引号 (`) 转义。

例如,class 不是有效的标识符,但 `class` 是有效的。它们通常用于定义程序的结构和行为。Swift 支持以下关键字 −

声明中使用的关键字

以下是在声明中使用的关键字

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 中,空白字符是指空格、制表符、换行符和注释。空白字符将语句的一个部分与其他部分分隔开,并使编译器能够识别语句中一个元素(如 int)的结束位置以及下一个元素的开始位置。因此,在以下语句中 −

var age

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

//获取总水果数量
int fruit = apples + oranges   

fruit 和 = 之间,或者 = 和 apples 之间不需要空白字符,尽管为了更好的可读性,你可以自由添加一些。

操作符两侧的空格应保持一致,例如 −

int fruit= apples +oranges   //这是一个错误的语句
int fruit = apples + oranges   //这是一个正确的语句

字面量

字面量是整数、浮点数或字符串类型值的源代码表示。或者可以说,字面量是直接写在源代码中的实际值。Swift 支持 integer literals、floating-point literals、String literals、boolean literals 等。

示例

以下是字面量的示例 −

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

Swift 中的打印

在 Swift 中,你可以使用 print() 函数将任何内容打印到控制台。这是 Swift 语言中最有用的函数。它还可以打印文件、函数和行号。

语法

以下是 print() 函数的语法 −

func print(_element: Any, Sep: String =  , Terminator: String = \n)

参数

该函数仅接受三个可选参数 −

  • Element − 这是我们想要打印到控制台输出的元素。可以是零个或多个。

  • Sep − 表示将显示在每个元素之间的字符串。默认值是一个空格。

  • Terminator − 表示在所有元素之后打印的字符串。默认值是一个换行符。我们可以根据需求提供自定义的分隔符和终止符。

示例

Swift 程序演示如何使用 print() 函数打印文本。

import Foundation

// 打印文本
print("Learn Swift!")

// 打印变量
var x = 10
var y = 23
print("[\(x) and \(y)]")

// 使用 terminator 打印文本
print("Swift, Programming Language", terminator: "*")
print("Swift Programming Language")

输出

Learn Swift!
[10 and 23]
Swift, Programming Language*Swift Programming Language

条件语句

条件语句允许您根据特定条件执行代码。

示例

Swift 程序根据年龄检查某人是否有投票资格。

import Foundation

let age = 20

if age >= 18 {
    print("You are eligible to vote.")
} else {
    print("You are not eligible to vote.")
}

输出

You are eligible to vote.

循环结构

循环用于多次重复执行代码块。Swift 的循环包括 for-inwhilerepeat-while

示例

使用 for-in 循环打印 5 名员工姓名的 Swift 程序:

import Foundation

let employees = ["Sudhir", "Yash", "Ravi", "Alshifa", "Akansha"]

for name in employees {
    print("Employee: \(name)")
}

输出

Employee: Sudhir
Employee: Yash
Employee: Ravi
Employee: Alshifa
Employee: Akansha

数组

数组用于存储同一类型的多个值。您可以通过显式指定数组类型来创建数组。

示例

使用数组存储并显示不同水果价格的 Swift 程序。

import Foundation

var fruitPrices = [30, 50, 40, 20]

// Print second fruit's price
print("Price of second fruit: \(fruitPrices[1])")

// Add a new price
fruitPrices.append(60)

// Display all prices
for price in fruitPrices {
    print("Fruit Price: \(price)")
}

输出

Price of second fruit: 50
Fruit Price: 30
Fruit Price: 50
Fruit Price: 40
Fruit Price: 20
Fruit Price: 60

结构体

结构体是值类型,用于将相关的属性和方法组合在一起。结构体使用 "struct" 关键字创建,包含属性(与结构体关联的常量和变量)和方法(与结构体关联的函数)。

示例

使用 struct 创建 Book 结构体的 Swift 程序:

import Foundation

struct Book {
    var title: String
    var author: String
    
    func description() {
        print("'\(title)' by \(author)")
    }
}

let book1 = Book(title: "The Swift Programming Language", author: "Apple Inc.")
book1.description()

输出

'The Swift Programming Language' by Apple Inc.

类是引用类型并支持继承。类使用 "class" 关键字创建,包含属性(类的常量和变量)、方法(与类关联的函数)和初始化器(用于设置类实例初始状态的特殊方法)。

示例

使用 class 建模 Car 并演示继承的 Swift 程序。

import Foundation

class Vehicle {
    var brand: String

    init(brand: String) {
        self.brand = brand
    }

    func honk() {
        print("\(brand) makes a sound")
    }
}

class Car: Vehicle {
    override func honk() {
        print("\(brand) honks: Beep Beep!")
    }
}

let myCar = Car(brand: "Toyota")
myCar.honk()

输出

Toyota honks: Beep Beep!