gpt4 book ai didi

swift - 为什么 Swift 库使用 "enum CommandLine"而不是 "struct CommandLine"?

转载 作者:可可西里 更新时间:2023-11-01 00:31:26 25 4
gpt4 key购买 nike

Swift 标准库将 CommandLine 声明为枚举。

/// Command-line arguments for the current process.
public enum CommandLine {

/// Access to the raw argc value from C.
public static var argc: Int32 { get }

/// Access to the raw argv value from C. Accessing the argument vector
/// through this pointer is unsafe.
public static var unsafeArgv: UnsafeMutablePointer<UnsafeMutablePointer<Int8>?> { get }

/// Access to the swift arguments, also use lazy initialization of static
/// properties to safely initialize the swift arguments.
public static var arguments: [String]
}

通过将 CommandLine 声明为结构,可以很好地实现 API 的目的。它被声明为枚举而不是结构的任何具体原因?

最佳答案

好的,根据一些研究,我发现了这个:

使用无大小写枚举的优点是它不会被意外实例化并作为纯命名空间工作。(引用:https://github.com/raywenderlich/swift-style-guide#constants)

我相信这可能是原因之一。

关于swift - 为什么 Swift 库使用 "enum CommandLine"而不是 "struct CommandLine"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50967129/

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