Swift变量常量

变量和常量

  • Swift 中使用 letvar 来修饰变量,其中使用 let 修饰的我们称为常量

  • 如果变量不可被修改(对于指针而言则意味着指针不会被指向其他对象),则用 let 来修饰;否则用 var 来修饰

    也就是说,使用 let 修饰的变量,一经赋值,就不允许重新赋值了

let a:Int
a = 0
a = 1 // 不允许
  • 变量在声明的时候可以加上变量类型和赋值,也可以不加不赋值,但是不可以没有赋值又没有类型。因为 Swift 有 自动类型判定 机制。

以下的声明都是允许的

let a = 3
let b:Int = 4
let c:Int?
var d = "string"

不允许没有类型不赋值

var n // 不允许
  • Swift 语法中允许在一行中声明多个变量
let a = 0, b:Int, c:CGFloat = 3.0

静态常量

在 OC 中,静态常量会使用 const 来修饰,或者定义为宏。

static const NSString * kDefaultName = @"Kim";

#define DEFAULT_OPTION true

但是在 Swift 中,没有 const 关键字,也没有宏。因此我们可以直接使用 let 来修饰来定义静态变量。

但是由于 Swift 中的文件权限机制,所有都基本可以共同可访问的,因此最好加上 类似命名空间 的控制,提供可读性,可以使用 struct 来实现:

struct MyBodyCount {
    
    static let kHead = 1
    static let kArms = 2
    static let kLegs = 3
    static let kHair = 2000
    
}

然后通过 . 语法来访问:

let hairCount = MyBodyCount.kHair
print(hairCount)

你可能感兴趣的:(Swift变量常量)