Swift 是一种强大且直观的编程语言,用于构建基于 Apple 平台的应用程序。它结合了 C 和 Objective-C 的优点,并摒弃了兼容性限制,提供了现代化的编程特性,使代码更安全、更快速、更简洁。
变量与常量
Swift 中定义变量和常量需要使用 let
和 var
关键字。let
用于声明不可改变的常量,而 var
用于声明可变的变量。
let myConstant = 42 var myVariable = 42 myVariable = 43
数据类型
Swift 提供了多种数据类型,包括但不限于整型、浮点型、布尔型、字符串等。
整型
整型分为有符号和无符号两种,常用的有 Int8
, Int16
, Int32
, Int64
和 UInt8
, UInt16
, UInt32
, UInt64
。
let age: Int = 25
浮点型
浮点型包括 Float
和 Double
,前者通常用于存储精度较低的数据,后者用于高精度计算。
let pi: Double = 3.14159
布尔型
布尔型只有 true
和 false
两个值。
let isRaining = true
字符串
Swift 中的字符串可以使用双引号来定义。
let greeting = "Hello, world!"
类型推断
Swift 允许编译器自动推断变量的类型,因此在定义变量时可以省略类型标注。
let name = "John Doe"
元组
元组允许将多个不同类型的数据组合在一起。
let http404Error = (404, "Not Found")
字典与数组
Swift 支持字典和数组,它们是容器类数据结构。
数组
var shoppingList: [String] = ["Eggs", "Milk"]
字典
var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ]
控制流
Swift 提供了多种控制流语句来处理逻辑分支和循环。
条件语句
if 语句
let someCharacter: Character = "e" if someCharacter == "a" { print("It's an 'a'!") }
switch 语句
-- -------------------- ---- ------- --- --------- - ---- ------- ------ --------- - ---- --------- ---------- ---- ------- --- ---- ---- -- - ------ ---- ----------- ------------- ----------- ----- ---- - ---- ----------- -------- ----------------- ------ ---- -- ------- -
循环
for-in 循环
for index in 1...5 { print("\(index) times 5 is \(index * 5)") }
while 循环
var i = 0 while i < 5 { print(i) i += 1 }
跳转语句
break
break
用于立即退出循环或 switch 语句。
outerLoop: for i in 1...3 { for j in 1...3 { if i == 2 && j == 2 { break outerLoop } print("i = \(i), j = \(j)") } }
continue
continue
用于跳过当前循环体的剩余部分并开始下一次迭代。
for i in 1...5 { if i % 2 == 0 { continue } print(i) }
函数
函数是一段执行特定任务的代码块。
定义与调用
func greet(name: String, day: String) -> String { return "Hello \(name), today is \(day)." } print(greet(name: "Bob", day: "Tuesday"))
参数标签
参数标签允许你在调用函数时指定参数的名称。
func sayHello(to name: String) -> String { return "Hello \(name)" } print(sayHello(to: "Alice"))
可选参数
函数可以接受可选参数,这些参数可以被省略。
-- -------------------- ---- ------- ---- ------------------ ----------- ------- - ---- - -- --- ---------- - ---------- - ------------- --------------- - ------------- ---------- - --------------- ------------------- ------
可变参数
你可以定义函数接收可变数量的参数。
-- -------------------- ---- ------- ---- ---------------- -------- ---------- -- ------ - --- ------ ------ - - --- ------ -- ------- - ----- -- ------ - ------ ----- - --------------------- - ----------------------- -- ---
面向对象编程
Swift 支持面向对象编程,包括类、结构体、枚举等。
类与实例
-- -------------------- ---- ------- ----- ------ - --- ----- ------ ---------- ------- - --------- - ---- - ---- ------- - ------------- --- --------- - - --- ------ - ------------ -------- --------------
继承
-- -------------------- ---- ------- ----- -------- ------ - --- ------- ------ ---------- ------- ------- ------- - ----------- - ------ ---------------- ----- - -------- ---- ------- - ---------- --- -------- -------- -- ----------- - - --- ------- - ------------- ------ ------- ---- -------- ---------------
枚举
枚举是一种定义一组命名值的方式。
-- -------------------- ---- ------- ---- ------------ - ---- ----- ---- ----- ---- ---- ---- ---- - --- --------------- - ----------------- --------------- - -----
协议
协议定义了一组方法和属性,类、结构体和枚举都可以采用协议。
-- -------------------- ---- ------- -------- ----- - --- ----- ------ - --- --- - - ------ -------- ----- - --- ----- ------ - --- ------- - ------------- ------- -------------------
泛型
泛型允许你编写能够处理任意数据类型的函数和类。
-- -------------------- ---- ------- ---- ------------------ -- ----- -- - -- ----- -- - --- ---------- - - - - - - - ---------- - --- ------- - - --- ---------- - --- ----------------------- ------------ -------------- -----------------
以上是 Swift 基本语法的一部分,涵盖了变量与常量、数据类型、控制流、函数以及面向对象编程的基础知识。这些内容为理解和使用 Swift 进行应用开发打下了坚实的基础。