Swift语法

## Swift 语言简介 Swift 是一种强大且直观的编程语言,由苹果公司于 2014 年推出。它是 Objective-C 的继任者,用于开发 iOS、macOS、watchOS 和 tvOS 应用程序。Swift 结合了 C 和 Objective-C 的优点,提供了更简洁的语法、更高的安全性和性能。 ### 1. 基本语法 #### 变量声明 在 Swift 中,变量声明包括类型和值。例如: ```swift var number: Int = 42 var name: String = "John Doe" ``` #### 数据类型 Swift 提供了多种数据类型,如整数、浮点数、布尔值、字符串和集合等。例如: ```swift let age: Int = 30 let pi: Double = 3.14159 let isStudent: Bool = true let hobbies: [String] = ["reading", "swimming"] ``` #### 控制流 Swift 支持多种控制流语句,如 if、else if、else、for-in、while 和 repeat-while 等。例如: ```swift let number = 10 if number > 0 { print("Positive") } else if number < 0 { print("Negative") } else { print("Zero") } for i in 1...5 { print(i) } var counter = 0 while counter < 5 { counter += 1 print(counter) } for hobby in hobbies { print(hobby) } ``` ### 2. 函数 Swift 中的函数使用 `func` 关键字定义。例如: ```swift func greet(name: String) { print("Hello, \(name)!") } greet(name: "John Doe") ``` 函数可以接受参数并返回值。例如: ```swift func add(a: Int, b: Int) -> Int { return a + b } let sum = add(a: 3, b: 5) print(sum) ``` ### 3. 类和对象 Swift 中的类是用于定义对象的蓝图。例如: ```swift class Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } func greet() { print("Hello, my name is \(name) and I am \(age) years old.") } } let person = Person(name: "John Doe", age: 30) person.greet() ``` ### 4. 属性和方法 类和结构体可以拥有属性(变量)和方法。例如: ```swift class Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age } func greet() { print("Hello, my name is \(name) and I am \(age) years old.") } func celebrateBirthday() { age += 1 print("Happy birthday, \(name)! You are now \(age) years old.") } } let person = Person(name: "John Doe", age: 30) person.greet() person.celebrateBirthday() ``` ### 5. 错误处理 Swift 使用 do-catch 语句进行错误处理。例如: ```swift func divide(a: Int, b: Int) -> Int? { if b == 0 { return nil } return a / b } if let result = divide(a: 10, b: 2) { print("Result: \(result)") } else { print("Error: Division by zero") } ``` ### 6. 扩展 扩展允许在不修改原始类的情况下向现有类添加新功能。例如: ```swift extension String { func capitalizeFirstLetter() -> String { return String(self.first! + self.dropFirst()) } } let greeting = "hello" let capitalizedGreeting = greeting.capitalizeFirstLetter() print(capitalizedGreeting) // 输出 "Hello" ``` ### 7. 协程 Swift 通过引入协程支持异步编程。例如: ```swift import Foundation async func fetchData() { let data = try await fetchFromNetwork() print("Data fetched: \(data)") } func fetchFromNetwork() throws -> Data { // Simulate network request return Data() } DispatchQueue.main.async { fetchData() } ``` ### 8. 类型推断 Swift 具有强大的类型推断能力,可以在许多情况下省略类型声明。例如: ```swift let number = 42 // number 是 Int 类型 let greeting = "Hello, World!" // greeting 是 String 类型 ``` ### 9. 集合 Swift 提供了多种集合类型,如数组、字典和集合。例如: ```swift let numbers: [Int] = [1, 2, 3, 4, 5] let names: [String] = ["John", "Jane", "Doe"] let uniqueNumbers = Set(numbers) let uniqueNames = Set(names) ``` ### 10. 接口和协议 Swift 使用接口和协议定义行为。例如: ```swift protocol Animal { func makeSound() } class Dog: Animal { func makeSound() { print("Woof!") } } class Cat: Animal { func makeSound() { print("Meow!") } } func playSound(animal: Animal) { animal.makeSound() } let dog = Dog() let cat = Cat() playSound(animal: dog) playSound(animal: cat) ``` 总之,Swift 是一种功能强大、易于学习和使用的编程语言。它为开发高性能、安全的应用程序提供了坚实的基础。