struct - 是适合常量的结构

标签 struct swift

在 Swift 中编程时,使用结构体来保存所有常量的优点和缺点是什么?

通常,我会去上课,但 swift 类还不支持存储类型属性。我想以示例 A 的形式而不是示例 B 的形式编写我的代码,这纯粹是因为可读性、更少的代码行和单个语句执行读取的内容(一个不能被覆盖的可读常量)。

// Sample A.swift
struct Constant {
    static let PI = 3.14
}

//Sample B.swift
private let globalPI = 3.14
class Constant {
    class var PI: Float {
        return globalPI
    }
}

如果我只是从结构的角度(用于计算、打印、条件或其他)引用 Constant.PI,我是否在浪费正在制作的副本?如果我只是在代码的其他部分将常量引用为 Constant.PI,是否会生成副本?

最佳答案

你可以在 Swift 中声明一个类常量:

class Foo {
    class var PI : Double { return 3.1416 }
}

关键是定义自定义的 getter 而不是 setter。

关于struct - 是适合常量的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127178/

相关文章:

C#define 语句、枚举、结构

c - 带结构的 C 中的链表实现

go - 如何在 GoLang 中使用 GOB 编码序列化嵌套结构?

c++ - 使用结构作为库的全局

ios - AlamofireObjectmapper 对模型属性进行编码

swift - iOS SwiftUI 更改每个 View 的默认字体

arrays - 我们如何在 golang 的结构中初始化结构类型的数组(存储 json 输出)

ios - 如何使用 init 初始化带有文本的单元格

swift - GCDAsyncSocket 不会抛出错误

swift - 如何在 Swift 中创建自定义完成 block