变量和常量
Swift 中使用
let
和var
来修饰变量,其中使用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)