gpt4 book ai didi

swift - 在 swift 中,什么时候在声明类时显式使用访问修饰符 "internal"会产生任何影响?

转载 作者:行者123 更新时间:2023-11-28 16:11:31 25 4
gpt4 key购买 nike

在 swift 中,什么时候在声明类时显式使用访问修饰符“internal”会产生任何影响?

最佳答案

它不会对编译器产生影响,因为它是默认设置(但请参阅下文)。但它可以通过发出意图信号,对阅读代码的开发人员产生影响。例如,考虑一个嵌套类型:

public struct X {
struct Y {
init() {}
}
}

不经意的读者可能会认为 Y 是公开的,因为 X 是公开的。但这种情况并非如此。 Y 是内部的。在定义中添加显式 internal 可以清楚地表明缺少 public 是有意而非疏忽。

目前可以使用 internal 创建误导性的情况。例如:

private struct X {
internal struct Y {
init() {}
}
}

人们可能认为这是一个错误(或至少是一个警告),但事实并非如此。这实际上是预期的行为(由 SE-0025 描述)。如果您想了解有关访问控制当前状态的更多信息,我推荐 SE-0025,因为它们在 Swift 3 中发生了变化。

关于swift - 在 swift 中,什么时候在声明类时显式使用访问修饰符 "internal"会产生任何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39501757/

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