在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
    }
}

如果我只是从Struct角度(用于计算,打印,条件或其他用途)引用Constant.PI,我在浪费正在制作的副本吗?如果我只是在代码的其他部分将常量引用为Constant.PI,是否进行了复制?

最佳答案

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

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

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

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

10-15 08:17