随笔分类 -  学习/提升

新技术的学习和自我提升
摘要:九、其他话题 错误处理 enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeed: Int) case outOfStock } struct Item { var price: 阅读全文
posted @ 2022-02-26 14:56 weicy 阅读(85) 评论(0) 推荐(0)
摘要:八、多线程 Thread // 最轻量级,但需要自己管理线程的生命周期和线程同步。线程同步对数据的加锁会有一定的系统开销。 // 简便 for i in 0...10 { Thread.detachNewThread { print(i) } } // 初始化器 class ObjectThread 阅读全文
posted @ 2022-02-23 15:41 weicy 阅读(222) 评论(0) 推荐(0)
摘要:七、泛型 func swapTwoInts(_ a:inout Int, _ b:inout Int) { let temp = a a = b b = temp } func swaoTwoValues<T>(_ a:inout T, _ b:inout T) { let temp = a a = 阅读全文
posted @ 2022-02-21 09:10 weicy 阅读(52) 评论(0) 推荐(0)
摘要:六、面向对象编程 常见高阶函数 // map print(numbers.map { $0 * 10}) // filter print(numbers.filter{ $0 > 4 }) // reduce print(numbers.reduce(10) { $0 + $1 }) // flat 阅读全文
posted @ 2022-02-21 09:08 weicy 阅读(57) 评论(0) 推荐(0)
摘要:五、函数和闭包 函数 常见形式 // 无形式参数的函数 func sayHelloWorld() -> String { return "hello world" } print(sayHelloWorld()) // 多形式参数的函数 func greet(person: String, alre 阅读全文
posted @ 2022-02-20 09:21 weicy 阅读(51) 评论(0) 推荐(0)
摘要:四、集合类 1.数组 初始化 // 字面量初始化 let array = [1, 2, 3, 4] // 创建空数组必须携带类型信息 let intArr:[Int] = [] var stringArr:[String] = [] array = [] // 使用初始化器 var myArr = 阅读全文
posted @ 2022-02-19 10:56 weicy 阅读(54) 评论(0) 推荐(0)
摘要:二、运算符和表达式 + - * \ = // 溢出 &+ &- &* // 合并空值运算符 a??b // a必须是一个可选类型。b必须与a的储存类型相同 与(a = nil ? a! : b)相同 // 区间运算符 a...b // 闭区间运算符 从a到b 包含ab a..<b // 半开区间运算 阅读全文
posted @ 2022-02-18 13:57 weicy 阅读(43) 评论(0) 推荐(0)
摘要:一、基本数据类型 1.声明常量和变量 let maxNum = 10 var currentNum = 0 let x = 10, y = 20, z = 30 let x1 = 10, y2 = 20, z = "30" var welcomeMessage: String = "hello wo 阅读全文
posted @ 2022-02-18 09:54 weicy 阅读(76) 评论(0) 推荐(0)