gpt4 book ai didi

swift - 这是 Xcode 中的错误还是程序员应该避免的做法?

转载 作者:行者123 更新时间:2023-11-28 10:13:58 26 4
gpt4 key购买 nike

首先,我寻找一种通过为协议(protocol)函数提供默认参数值来简化编码的方法。我采取了解决方案here然后发现它可能带来的一些致命后果:

protocol Foo {
func foo(_ a: Int)
}

extension Foo {
func foo(_ a: Int = 4) {
foo(a)
}
}

struct FooImpl: Foo {
// empty implementation
}

FooImpl().foo() // will go recursively forever and finally reach the stack limit

我还发现这段代码无法在 IBM Swift Sandbox 中编译因此假设 xcode 编译器可能是罪魁祸首。

最佳答案

这看起来是编译器应该接受并执行的有效 Swift 代码。它包含致命的无限递归是程序员的逻辑错误。

我在 IBM Swift Sandbox 中没有看到任何迹象表明它处理代码的方式比 Xcode 更好或不同。

关于swift - 这是 Xcode 中的错误还是程序员应该避免的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com