Swift 什么是;“静态”;在枚举或结构中暗示常量

Swift 什么是;“静态”;在枚举或结构中暗示常量,swift,struct,enums,constants,Swift,Struct,Enums,Constants,我最近遇到了以下情况: enum MyEnum { static let myVariable = "some value" } struct MyStruct { static let myVariable = "some value" } 想知道静态意味着什么。据我所知,let已经暗示了不变性,然后所有enum/struct实例都会共享该不变性。在我看来,这是对内存消耗的微观管理,但我不确定我是否遗漏了这里的基本要点。这意味着myVariable是一个–该类型的所有实例都可以使用

我最近遇到了以下情况:

enum MyEnum {
  static let myVariable = "some value"
}

struct MyStruct {
  static let myVariable = "some value"
}

想知道
静态
意味着什么。据我所知,
let
已经暗示了不变性,然后所有
enum
/
struct
实例都会共享该不变性。在我看来,这是对内存消耗的微观管理,但我不确定我是否遗漏了这里的基本要点。

这意味着
myVariable
是一个–该类型的所有实例都可以使用的单一属性。本质上是一个与MyEnum相关的全局变量

对于使用
let
声明的常量,这是一种声明常量的方法,这些常量的作用域为不占用该类型每个实例空间的类型,即:

struct MySlimStruct {
    static let myVariable = "some value"
}

sizeof(MySlimStruct)  // returns 0

struct MyFatStruct {
    let myVariable = "some value"
}

sizeof(MyFatStruct)  // returns 24

在使用
var
声明静态变量的情况下,这是一种将不可诊断的错误和崩溃引入程序的好方法。

所以这确实是内存管理?!对于
MyFatStruct
而不是
MySlimStruct
,是否有一个用例?是的,如果您希望每个实例都有自己的
myVariable
@Airspeed Velocity值,您认为您可以对上一条评论进行一点扩展吗?