发布于 ,更新于 

Swift 变量的声明

Swift变量的声明

这里的变量泛指通常意义上的变量和常量,因为可以把常量理解为不可变的变量。
Swift变量的声明使用 var 关键字,常量使用 let 关键字,举例:

1
2
3
4
5
6
7
8
9
10
11
import Foundation
var value1 = "Hello World 1" // 声明变量value1,并初始化,编译器自动推导为字符串类型
let value2 = "Hello World 2" // 声明常量value2,并初始化,编译器自动推导为字符串类型
var value3 = 3 // 声明变量value3,并初始化,编译器自动推导为Int整数类型
var value4 = 1.1 // 声明变量value4,并初始化,编译器自动推导为Double浮点数类型
var 中文变量名 = 400 // 可以使用Unicode字符作为变量名
print(value1)
print(value2)
print(value3)
print(value4)
print(中文变量名)

Swift是强类型的语言,编译器会根据变量初始化的值,自动推导出变量的类型。赋值语句与类型不匹配会导致编译出错。例如下面代码,将会编译出错:

1
2
3
4
var value1 = "abc"
let value2 = "xyz"
value1 = 100 // 编译出错,因为value1的类型在上面已经推导为String
value2 = "ijk" // 编译出错,value2为常量,不能改变其值

以下是在声明变量的时候,显式地指明了变量的类型:(采用变量名后面加冒号“:” 再加上类型名)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Foundation
var var1:Int = 3 // 声明整数
var var2:Float = 1.2 // 声明浮点数(32位)
var var3:Double = 1.6 // 声明浮点数(64位)
var var4:String = "abc" // 声明字符串
var var5:Bool = true // 声明布尔类型
let const1:Int8 = 1 // 声明8位有符号整数
let const2:UInt8 = 4 // 声明8位无符号整数
let const3:Int16 = 7 // 声明16位有符号整数
let const4:UInt16 = 2 // 声明16位无符号整数
let const5:Int32 = 5 // 声明32位有符号整数
let const6:UInt32 = 8 // 声明32位无符号整数
let const7:Int64 = 3 // 声明64位有符号整数
let const8:UInt64 = 6 // 声明64位无符号整数