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