常量与变量

常量的定义使用let关键字

let number = 10

变量的定义使用var关键字

var desc = "Hello world"

初始化运算符=,左右两边的空格是必须的

执行语句后面分号不再是必须的

标示符的命名:

相比较C和OC,Swift还允许大部分字符,如中文字符(即支持Unicode),但强烈不推荐

打印输出:

Swift2.0中使用函数print()进行输出打印,而之前使用的println()函数不再使用

print(desc)

print("number is \(number)")

变量的初值:

编译器可以根据初值的实际数据类型推断出变量的数据类型

如果没有初值,则必须指明类型

var name:String;

var age:Int;

同一类型变量的连续定义:

var x, y, z : Double

vara = 1, b = "hello"

print(“a=\(a) b=\(b)")

var a1, a2:Double, a3:Int


数值类型

整型:Int Int8 Int16 Int32 Int64 IntMax UInt UInt8 UInt16 UInt32 UInt64 UIntMax

定义变量或常量时赋值整数,不指定类型,默认是Int

浮点:Float Double

整型数的字面表示

十进制:无前缀

八进制:前缀0o

十六进制:前缀0x

二进制:0b

如:

var a1 = 11

var a2 = 0o11

var a3 = 0x11

var a4 = 0b11

print("\(a1) \(a2) \(a3) \(a4)”) //输出 11 9 17 3

在字面中支持_ 用于分割清晰表示:

var a5 = 123_456_789

类型转换

类型安全:

Swift在编译时,进行严格的类型检查,如:

var a1:Int = 100

var a2:UInt

a2 = a1 //编译出错,不能把Int赋值给UInt,这样的操作在C、C++等语言中是允许的

整型数的转换方式:

每个整型类型都一个同名的“转换函数”(其实是构造器),如:

var b:Int = 100;

var c:UInt16

c = UInt16(b)

浮点类型的转换、以及整型浮点类型之间的转换都是用类似的方式,如:

var a1:Double = 3.14

var a2:Int;

a2 = Int(a1)

print(a2) // 3

a1 = Double(a2)

print(a1) //3.0

为类型取别名:

使用关键字typealias,如:

typealias Age = UInt8

var age1:Age = 10

布尔类型

类型为Bool,字面值为true false,标示符通常以is are等开头

var isOk:Bool

isOk = false

if isOk {

print("OK")

}

需要注意的是:Swift不允许非Bool类型当做Bool类型来使用,如:

如以下是错误的:

var i:Int = 1

if i {

print("OK")

}

正确的写法是:

var i:Int = 1

if Bool(i) {

print("OK")

}