Swift SELF
從基礎語法到高負載應用架構,循序漸進。72個關卡,1000+道互動題目,即時程式碼審查。您將學會編寫可靠的CLI工具,測試邏輯,並透過async/await處理網路和多執行緒。踏入後端開發領域,使用這門快速且記憶體安全的語言,薪資更高,競爭更少。
- 等級 1
已鎖定 指令與第一支 Swift 程式 - 等級 2
已鎖定 處理整數、字串與資料輸入 - 等級 3
已鎖定 條件語句與基礎邏輯 - 等級 4
已鎖定 迴圈與控制流程 - 等級 5
已鎖定 安裝 IDE、SDK 與專案設定 - 等級 6
已鎖定 數字:轉換、精確度、Random - 等級 7
已鎖定 字串:操作、格式化、split 與 trim - 等級 8
已鎖定 Switch 與範圍:基礎 pattern matching - 等級 9
已鎖定 函式:參數、labels、inout 與 tuple 回傳 - 等級 10
已鎖定 深入 Optionals:if let、guard let、??、chaining - 等級 11
已鎖定 Array:陣列操作基礎 - 等級 12
已鎖定 深入 Array 內部:ArraySlice、COW 與操作成本 - 等級 13
已鎖定 Dictionary:鍵值對與頻率映射 - 等級 14
已鎖定 Set 與元組 (tuples) - 等級 15
已鎖定 深入字串內部:Character、索引與 Substring - 等級 16
已鎖定 閉包 I (Closures):語法、map、filter、compactMap - 等級 17
已鎖定 閉包 II (Closures):reduce、管線處理與程式碼可讀性 - 等級 18
已鎖定 Sequence、Collection 協定與 lazy 運算 - 等級 19
已鎖定 比較與排序:Equatable、Comparable、二元搜尋 - 等級 20
已鎖定 遞迴與演算法問題拆解 - 等級 21
已鎖定 陣列演算法:two pointers、sliding window、prefix sums - 等級 22
已鎖定 Dictionary 與 Set 演算法:hashing、grouping、indexing - 等級 23
已鎖定 Struct I:結構體基礎、資料與方法 - 等級 24
已鎖定 Struct II:computed properties、observers、型別設計 - 等級 25
已鎖定 Enum I:基礎、raw values、CaseIterable - 等級 26
已鎖定 Enum II:狀態與指令的 associated values - 等級 27
已鎖定 深入 Optionals:binding、chaining、map、flatMap - 等級 28
已鎖定 初始化:failable init (?) 與 Value Objects - 等級 29
已鎖定 錯誤 I:Error 協定、throws、try、do/catch - 等級 30
已鎖定 錯誤 II:try?、try!、處理層級與錯誤 UX - 等級 31
已鎖定 控制流程:Result、defer、assert、precondition - 等級 32
已鎖定 日期與時間:Date、Calendar、格式化 (ISO8601) - 等級 33
已鎖定 CLI I:命令列參數解析與標記化 - 等級 34
已鎖定 CLI II:正規表示式 (Regex) 與驗證 - 等級 35
已鎖定 記憶體管理:Value vs Reference 語意 - 等級 36
已鎖定 Class:基礎、init、deinit、物件同一性 - 等級 37
已鎖定 ARC:記憶體所有權、retain cycles、weak、unowned - 等級 38
已鎖定 記憶體中的閉包:escaping 與 capture lists - 等級 39
已鎖定 OOP:繼承、組合與 type casting - 等級 40
已鎖定 協定 I:合約、組合與 any - 等級 41
已鎖定 協定 II:default 實作與 POP - 等級 42
已鎖定 Extensions 與 Generics 簡介 - 等級 43
已鎖定 Generics I:限制 (where)、演算法與 rethrows - 等級 44
已鎖定 Generics II:Stack 實作、不變量、Hashable - 等級 45
已鎖定 進階協定:associatedtype、Comparable、ID - 等級 46
已鎖定 Type Erasure:Existentials 與架構起步 - 等級 47
已鎖定 架構:DTO、Domain、錯誤路由與模組邊界 - 等級 48
已鎖定 SwiftPM I:目標 (targets)、相依性、build、run、test - 等級 49
已鎖定 SwiftPM II:Access control、SemVer 與本地套件 - 等級 50
已鎖定 工程:API 設計、文件化與 Git 基礎 - 等級 51
已鎖定 CI/CD 基礎:GitHub 與 XCTest 簡介 - 等級 52
已鎖定 測試 I:AAA 模式、testable、table-driven 測試 - 等級 53
已鎖定 測試 II:Mocks 與 interaction 測試 - 等級 54
已鎖定 工程:除錯策略與日誌基礎設施 - 等級 55
已鎖定 檔案系統:FileManager、路徑與 data-dir - 等級 56
已鎖定 文字檔:I/O 操作、UTF-8、CSV、streaming - 等級 57
已鎖定 二進位檔:Data、位元組、hex dump、chunked I/O - 等級 58
已鎖定 解析 I:JSON、基礎 Codable - 等級 59
已鎖定 解析 II:進階 Codable (CodingKeys、策略) - 等級 60
已鎖定 資料:schemaVersion、遷移與驗證 - 等級 61
已鎖定 資料:Repository 模式、backup、可靠寫入 - 等級 62
已鎖定 索引、微型分析與 HTTP 基礎 - 等級 63
已鎖定 網路 I:URLSession、URLRequest、URLComponents - 等級 64
已鎖定 網路 II:Endpoint builder、DTO 映射、async/await 簡介 - 等級 65
已鎖定 Async/Await I:Task、cancellation、超時 - 等級 66
已鎖定 網路 III:容錯能力、retry、mocks 與 async 測試 - 等級 67
已鎖定 網路 IV:快取、rate limiting 與管線處理 - 等級 68
已鎖定 Concurrency I:async let 與 structured concurrency - 等級 69
已鎖定 Concurrency II:TaskGroup、優先級與限制 - 等級 70
已鎖定 Concurrency III:Actors、Sendable、狀態保護、reentrancy - 等級 71
已鎖定 Concurrency IV:AsyncSequence、AsyncStream、緩衝區 - 等級 72
已鎖定 CLI 總結