# learnSwift **Repository Path**: wangyxli/learnSwift ## Basic Information - **Project Name**: learnSwift - **Description**: Swift教程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Swift 6 现代开发实战教程 基于 Swift 6 标准的系统化学习教程,涵盖从基础到高级的所有核心概念。 ## 📚 教程结构 ### 文档部分 (`docs/`) | 文件 | 主题 | 核心内容 | |------|------|----------| | `01_basics.md` | 基础篇 | 变量与常量、可选型、控制流、元组 | | `02_type_system.md` | 类型系统 | 结构体 vs 类、枚举、协议与扩展 | | `03_functional_programming.md` | 函数式编程 | 闭包、高阶函数、结果构建器 | | `04_concurrency.md` | 并发编程 | async/await、Task、Actor、Sendable | | `05_error_handling.md` | 错误处理 | Throw/Catch、Result、自定义错误 | | `06_memory_management.md` | 内存管理 | ARC、循环引用、weak/unowned | | `07_generics_advanced.md` | 泛型与高级特性 | 泛型约束、关联类型、属性包装器 | ### 代码示例 (`examples/`) | 文件 | 对应文档 | 示例内容 | |------|----------|----------| | `01_basics.swift` | 01_basics.md | 基础语法完整示例 | | `02_type_system.swift` | 02_type_system.md | 类型系统实践 | | `03_functional_programming.swift` | 03_functional_programming.md | 函数式编程示例 | | `04_concurrency.swift` | 04_concurrency.md | 并发编程基础 | | `05_concurrency_actor.swift` | 04_concurrency.md | Actor 模型详解 | | `06_error_handling.swift` | 05_error_handling.md | 错误处理实践 | | `07_memory_management.swift` | 06_memory_management.md | 内存管理示例 | | `08_generics_advanced.swift` | 07_generics_advanced.md | 泛型高级特性 | ## 🎯 Swift 6 核心特性 ### 1. 严格并发安全 - **Actor 模型**:自动保证数据隔离和线程安全 - **Sendable 协议**:标记可安全跨并发域传递的类型 - **编译器检查**:Swift 6 默认启用严格并发检查 ### 2. 类型安全 - **可选型**:强制安全解包,避免空指针 - **泛型约束**:编译时保证类型正确性 - **协议导向**:优先使用协议而非继承 ### 3. 值类型优先 - **结构体**:默认选择,天然线程安全 - **枚举**:关联值和模式匹配 - **不可变性**:优先使用 `let` 而非 `var` ## 🚀 快速开始 ### 运行示例代码 ```bash # 运行基础示例 swift examples/01_basics.swift # 运行并发示例 swift examples/04_concurrency.swift # 运行 Actor 示例 swift examples/05_concurrency_actor.swift ``` ### 学习路径 1. **基础篇**:先阅读 `01_basics.md`,运行对应代码 2. **类型系统**:理解值类型与引用类型的区别 3. **函数式编程**:掌握闭包和高阶函数 4. **并发编程**:重点学习 Actor 和 Sendable 5. **错误处理**:学会安全的错误处理模式 6. **内存管理**:理解 ARC 和循环引用 7. **泛型**:掌握高级类型特性 ## 📋 2026 最佳实践 ### 代码风格 - ✅ 优先使用 `let` 声明常量 - ✅ 使用 `guard let` 进行前置条件检查 - ✅ 避免隐式解包可选型 (`!`) - ✅ 使用 `some` 和 `any` 简化协议类型 ### 并发安全 - ✅ 使用 Actor 保护共享可变状态 - ✅ 标记可跨线程传递的类型为 Sendable - ✅ 使用 @MainActor 标记 UI 相关代码 - ✅ 启用 Swift 6 严格并发检查 ### 内存管理 - ✅ 优先使用值类型(结构体、枚举) - ✅ 在闭包中使用 `[weak self]` 避免循环引用 - ✅ 实现 deinit 验证对象释放 ### 错误处理 - ✅ 定义具体的错误类型 - ✅ 实现 LocalizedError 提供用户友好的错误信息 - ✅ 使用 Result 类型处理可能失败的同步操作 ## 🔧 技术要求 - **Swift 版本**:6.0+ - **平台**:macOS 15+ / iOS 18+ / Linux - **工具**:Swift Compiler 或 Xcode 16+ ## 📖 文档格式 每个文档包含: - **核心概念**:理论解释和关键点 - **代码片段预览**:简短的代码示例 - **常见陷阱**:需要避免的错误 - **2026 最佳实践**:现代化的编码建议 ## 🎓 学习建议 1. **理论与实践结合**:先读文档,再运行代码 2. **循序渐进**:按顺序学习,不要跳跃 3. **动手修改**:尝试修改示例代码,观察结果 4. **关注并发**:Swift 6 的核心是并发安全 5. **理解原理**:不仅要知道怎么用,还要知道为什么