Swift 是由 Apple 开发的一种多范式编程语言,于 2014 年 WWDC 大会上首次发布。Swift 被设计为 Objective-C 的替代者,用于 iOS、macOS、watchOS、tvOS 等 Apple 平台的应用程序开发。
Swift 的核心定位是 现代、安全、快速。它结合了:
Swift 由 Chris Lattner(LLVM 项目创始人)于 2010 年开始设计,2014 年在 WWDC 大会上首次公开。Swift 的目标是 解决 Objective-C 的痛点:
@main 或 UIApplicationMainvar:可变变量let:不可变常量// 单行、/* */ 多行、/// 文档注释// Swift 程序示例
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Int:整数Double:双精度浮点数Float:单精度浮点数Bool:布尔值(true/false)String:字符串Character:字符Array:数组 [1, 2, 3]Dictionary:字典 ["key": "value"]Set:集合 Set([1, 2, 3])let person = (name: "Alice", age: 30)let name: String? = nilvar name: String? = "Alice"name!(不推荐)if let name = name { ... }guard let name = name else { return }let n = name ?? "Unknown"name?.uppercased()// 可选类型示例
var username: String? = "Alice"
// 可选绑定
if let name = username {
print("Hello, \(name)!")
} else {
print("No username")
}
// guard 语句
func greet(_ name: String?) {
guard let name = name else {
print("No name provided")
return
}
print("Hello, \(name)!")
}
// 空合并运算符
let displayName = username ?? "Guest"
if / else if / elsefor-in、while、repeat-whilefunc greet(name: String) -> String { return "Hello, \(name)!" }func greet(to name: String) -> Stringfunc greet(name: String = "World")func sum(_ numbers: Int...) -> Intlet double = { (x: Int) -> Int in return x * 2 }struct Person { var name: String; var age: Int }class Student { var name: String; init(name: String) { self.name = name } }class Undergraduate: StudentwillSet、didSetinit()protocol Greetable { func greet() -> String }struct Person: Greetable { func greet() -> String { return "Hello!" } }extension Greetable { func greet() -> String { return "Hi!" } }func process(item: T) func swap(_ a: inout T, _ b: inout T) struct Stack { private var items: [T] = [] } func compare(_ a: T, _ b: T) -> Bool // async/await 示例
func fetchUser(id: Int) async throws -> User {
let url = URL(string: "https://api.example.com/user/\(id)")!
let (data, _) = try await URLSession.shared.data(from: url)
return try JSONDecoder().decode(User.self, from: data)
}
// 并发执行
func loadUsers() async throws -> [User] {
async let user1 = fetchUser(id: 1)
async let user2 = fetchUser(id: 2)
async let user3 = fetchUser(id: 3)
return try await [user1, user2, user3]
}
SwiftUI 是 Apple 的声明式 UI 框架,使用 Swift 语言构建。SwiftUI 的理念是 "声明界面,而非命令式操作",类似于 React 和 Flutter。
Text("Hello").font(.largeTitle).foregroundColor(.blue)@State、@Binding、@ObservedObject// SwiftUI 示例
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
.font(.largeTitle)
Button("Increment") {
count += 1
}
.padding()
}
}
}
Swift 的可选类型(Optional)和空安全设计,从根本上解决了空指针异常(Null Pointer Exception)问题。
Swift 使用 LLVM 编译器,性能接近 C++,远超 Objective-C。
Swift 的语法简洁优雅,代码可读性高,减少了样板代码。
Swift 鼓励使用协议和协议扩展,而不是类继承,提高了代码的灵活性。
Swift 是 Apple 平台的官方语言,与 iOS、macOS、watchOS、tvOS 深度整合。
Swift 5.3+ 支持 Windows 和 Linux,Swift on Server 正在成长。
Swift 基础语法、数据类型、控制流、函数、闭包
可选类型、类与结构体、协议、泛型、错误处理
UIKit(传统)或 SwiftUI(现代)+ 状态管理
Combine 响应式编程、async/await 并发、Core Data
Swift 是 Apple 生态的未来语言。
它用 安全、现代、高性能 重新定义了 Apple 平台的开发体验。Swift 不仅是一门语言,更是 Apple 对开发者体验的承诺。
如果你打算开发 iOS、macOS、watchOS 或 tvOS 应用,Swift 是唯一的选择,也是最正确的选择。随着 Swift 跨平台能力的增强,它正在成为系统编程领域的又一重要力量。
"Swift 让 iOS 开发从能用变成了享受。" 📱
—— 技术社区评价