Swift语法基础 #
一、Swift程序结构 #
一个基本的Swift程序由以下部分组成:
swift
import Foundation
let message = "Hello, Swift!"
print(message)
1.1 导入语句 #
使用 import 关键字导入模块:
swift
import Foundation
import UIKit
import SwiftUI
1.2 语句 #
Swift语句不需要分号结尾(但可以添加):
swift
let a = 10
let b = 20; let c = 30
1.3 代码块 #
使用大括号 {} 定义代码块:
swift
if true {
print("条件成立")
}
二、注释 #
注释用于解释代码,编译器会忽略注释内容。
2.1 单行注释 #
使用 // 开始:
swift
let pi = 3.14159
2.2 多行注释 #
使用 /* */ 包围:
swift
/*
这是一个多行注释
可以跨越多行
用于详细说明代码功能
*/
let e = 2.71828
2.3 嵌套注释 #
Swift支持多行注释嵌套:
swift
/*
外层注释开始
/*
内层注释
*/
外层注释结束
*/
let nested = true
2.4 文档注释 #
使用 /// 或 /** */ 编写文档注释:
swift
/// 计算两个数的和
/// - Parameters:
/// - a: 第一个数
/// - b: 第二个数
/// - Returns: 两数之和
func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
/**
用户信息结构体
用于存储用户的基本信息
*/
struct User {
let name: String
let age: Int
}
2.5 MARK注释 #
使用 // MARK: 组织代码:
swift
// MARK: - 属性
var name: String = ""
var age: Int = 0
// MARK: - 初始化
init(name: String, age: Int) {
self.name = name
self.age = age
}
// MARK: - 公共方法
func introduce() {
print("我是\(name)")
}
// FIXME: 需要优化性能
func processData() {
}
// TODO: 添加错误处理
func saveData() {
}
三、标识符 #
标识符用于命名变量、常量、函数、类等。
3.1 命名规则 #
Swift标识符的命名规则:
- 可以包含字母、数字、下划线
- 必须以字母或下划线开头
- 区分大小写
- 不能使用保留关键字(除非用反引号包围)
- 支持Unicode字符
swift
let name = "张三"
let _count = 10
let userAge = 25
let 用户名 = "李四"
let π = 3.14159
let 😊 = "happy"
3.2 命名规范 #
驼峰命名法 #
- 小驼峰:变量、函数、方法
- 大驼峰:类型(类、结构体、枚举、协议)
swift
let userName = "张三"
func calculateTotalPrice() { }
class UserManager { }
struct UserProfile { }
enum Direction { }
protocol Drawable { }
布尔类型命名 #
布尔类型通常以 is、has、should 等开头:
swift
var isEmpty: Bool = true
var hasPermission: Bool = false
var shouldUpdate: Bool = true
常量命名 #
全局常量使用大写字母和下划线:
swift
let MAX_CONNECTIONS = 100
let DEFAULT_TIMEOUT = 30.0
3.3 避免使用的命名 #
swift
let String = "Hello"
let count = 10
let data = []
四、关键字 #
关键字是Swift语言保留的特殊标识符,不能用作普通标识符。
4.1 声明关键字 #
| 关键字 | 用途 |
|---|---|
let |
声明常量 |
var |
声明变量 |
func |
声明函数 |
class |
声明类 |
struct |
声明结构体 |
enum |
声明枚举 |
protocol |
声明协议 |
init |
声明初始化器 |
deinit |
声明析构器 |
extension |
声明扩展 |
typealias |
声明类型别名 |
associatedtype |
声明关联类型 |
4.2 语句关键字 #
| 关键字 | 用途 |
|---|---|
if |
条件语句 |
else |
条件分支 |
switch |
多分支语句 |
case |
switch分支 |
default |
默认分支 |
for |
循环语句 |
while |
循环语句 |
do |
执行块 |
repeat |
循环语句 |
break |
跳出循环 |
continue |
继续循环 |
return |
返回 |
throw |
抛出错误 |
defer |
延迟执行 |
guard |
守护语句 |
4.3 访问控制关键字 #
| 关键字 | 用途 |
|---|---|
public |
公开访问 |
private |
私有访问 |
fileprivate |
文件内私有 |
internal |
模块内访问(默认) |
open |
开放访问 |
static |
静态成员 |
final |
不可重写 |
4.4 其他关键字 #
| 关键字 | 用途 |
|---|---|
import |
导入模块 |
self |
当前实例 |
Self |
当前类型 |
super |
父类 |
nil |
空值 |
true/false |
布尔值 |
in |
闭包/循环 |
where |
条件约束 |
as |
类型转换 |
is |
类型检查 |
try |
错误处理 |
4.5 使用关键字作为标识符 #
如果必须使用关键字作为标识符,可以用反引号包围:
swift
let `class` = "这是一个类名"
let `func` = "这是一个函数"
print(`class`)
五、分号 #
Swift不强制要求分号,但以下情况需要:
5.1 同一行多条语句 #
swift
let a = 1; let b = 2; print(a + b)
5.2 可选的分号 #
swift
let x = 10
let y = 20;
六、空白与缩进 #
6.1 空白字符 #
Swift忽略多余的空白字符:
swift
let x=10
let x = 10
let x = 10
6.2 缩进规范 #
使用4个空格或1个Tab进行缩进:
swift
func calculate(a: Int, b: Int) -> Int {
if a > b {
return a
} else {
return b
}
}
6.3 行长度 #
建议每行代码不超过100个字符:
swift
let result = someVeryLongFunctionName(
firstParameter: value1,
secondParameter: value2,
thirdParameter: value3
)
七、代码规范 #
7.1 命名规范 #
swift
class UserManager {
static let shared = UserManager()
private var currentUser: User?
private var isLoggedIn: Bool = false
func loginUser(username: String, password: String) -> Bool {
return true
}
}
7.2 函数规范 #
swift
func fetchUserData(
userId: Int,
completion: @escaping (Result<User, Error>) -> Void
) {
}
7.3 闭包规范 #
swift
let sorted = numbers.sorted { $0 < $1 }
let filtered = users.filter { user in
user.age > 18 && user.isActive
}
7.4 类型注解 #
swift
let name: String = "Swift"
var count: Int = 0
var items: [String] = []
var dictionary: [String: Int] = [:]
八、SwiftLint代码检查 #
SwiftLint是Swift代码规范检查工具。
8.1 安装 #
bash
brew install swiftlint
8.2 配置 #
创建 .swiftlint.yml 文件:
yaml
disabled_rules:
- trailing_whitespace
- line_length
opt_in_rules:
- empty_count
- closure_spacing
line_length: 120
identifier_name:
min_length:
warning: 2
max_length:
warning: 40
8.3 使用 #
bash
swiftlint
swiftlint autocorrect
九、总结 #
本章介绍了Swift的基础语法:
- 注释:单行、多行、文档注释
- 标识符:命名规则和规范
- 关键字:保留字及其用途
- 代码规范:良好的编程习惯
最佳实践:
- 使用有意义的命名
- 添加必要的注释
- 遵循Swift API设计指南
- 使用SwiftLint保持代码一致性
下一章,我们将编写第一个Swift程序!
最后更新:2026-03-26