基本数据类型–整型
var imInt: Int = 80 //有符号整型
// Int 其存储空间是有限的,位数默认跟机器相应
Int.max //查看最大值
Int.min //查看最小值
var imUInt: UInt = 80 //无符号整型
UInt.max //是Int.max的两倍多1,
UInt.min // 0 ,不能存储负数
Int8.max // 127,8位整型
Int8.min //-126
UInt16.max
UInt16.min
Int32.max
Int32.min
UInt32.max
UInt32.min
Int64.max
Int64.min
UInt64.max
UInt64.min
let decimalInt: Int = 17
let binaryInt: Int = 0b10001 //二进制整型17
let octalInt: Int = 0o21 //八进制整型17
let hexInt: Int = 0x11 //十六进制整型17
let oneMillion= 1_000_000 //数值过大时,可用下划线分割,三位一组
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
基本类型–浮点数和类型转换
//浮点数
let inFloat: Float = 3.1415926 // 其实际值为 3.14159
let inDouble: Double = 3.1415926
let x = 3.1415926 //根据其位数,默认为Double
var a = 1.25e10
var b = 1.25e-8
var c = 1_000_000.000_000_1
CGFloat //图形相关浮点数
// 例如: UIColor的参数类型皆是CGFloat
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
//类型转换---Swift无法进行隐式的类型转换
let x: UInt16 = 100
let y: UInt8 = 20
x+y //会报错,类型不同而导致无法相加,必须显式转换类型
let m = x + UInt16(y)
let n = UInt8(x) + y //该算式会提示溢出,x超出内存
// 同样适用于浮点数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
基本类型–布尔型
let imTrue: Bool = true
let imFalse: Bool = false
// swift 中()不是必须,也可加(),提升优先级
if imTrue{
print("I'm True")
}else{
print("I'm False")
}
if imFlase{
print("I'm False")
}else if 3+4 == 7{
print("3+4 == 7")
}
//下面的算式时错误的 swift中不能判断Int为Bool
if 1{
print("True")
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
基本类型 – 元组
// Tuple 将多个不同的值集合成一个数据
var point = (5,2) // 点坐标
var httpResponse = (404,"Not Found")
// 可以有多个任意值,不同的值可以是不同的类型
//显式声明类型
var point2: (Int, Int, Int) = (10, 5, 2)
var httpResponse: (Int,String) = (200,"Ok")
// 获取元组中的值,进行解包
let (x, y) = point
x == 5
y == 2
// 或者
point.0 == 5
point.1 == 2
let (statusCode, statusMessage) = httpResponse
let point3 = (x:3,y:2)
point3.x == 3
point.y ==2
let point4:(x:Int,y:int) = (10,5)
point4.x ==10
point4.y == 5
let loginResult = (true, "admin")
let (isLoginSuccess, _) = loginResult
// _下划线表示不需要解包第二个值
if isLoginSuccess{
print("Login Success!")
}else{
print("Login failed!")
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
文章来源网络:点击这里查看源文.