Swift编程挑战与属性包装器详解
编程挑战部分
在编程学习过程中,会遇到各种挑战来提升我们的技能。下面为大家介绍几个不同难度级别的挑战及解决方案。
青铜挑战:实现两点相加
要实现两个点相加,相加的结果应返回一个新的点,该点的x值和y值分别是给定两点x值和y值的和。这需要为 + 运算符提供一个接受两个 Point 实例的实现。
白银挑战:实现栈的相等性比较
之前创建过 Stack 类型,现在要实现 Equatable 协议,以便能够判断两个 Stack 实例是否相等。此实现仅适用于存储可比较类型的栈。可以在代码中添加一些比较操作来测试解决方案,示例代码如下:
let myTasks = Stack(items: ["Clean up"])
let yourTasks = Stack(items: ["Master Swift"])
myTasks == yourTasks // Result should be false
class Pancake { }
let breakfast = Stack(items: [Pancake(), Pancake()])
let lunch = Stack(items: [Pancake()])
breakfast == lunch // Compiler error: Pancak
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



