整数类型#
Swift 提供了8,16,32和64位的有符号和无符号整数类型。
一般使用Int就可以了
浮点型#
浮点型分Double和Float两种类型
Double:64位浮点数。精确度15位。优先选择Double。推断浮点型时,Swift会选择Double。
Float:32位浮点数。精度度6位。
布尔类型#
Bool,布尔值只有 true 和 false 两种,没有C和OC中非零即真的概念。
如果在需要使用Bool类型的地方使用了非布尔值,Swift的类型安全机制会报错
字符串#
String
字符#
Character
Swift字面量#
所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。
let aNumber = 3 //整型字面量
let aString = "Hello" //字符串字面量
let aBool = true //布尔值字面量
以下代码来源于官方文档
1.整数字面量
十进制数,没有前缀
二进制数,前缀是0b
八进制数,前缀是0o
十六进制数,前缀是0x
let decimalInteger = 17
let binaryInteger = 0b10001 // 二进制17
let octalInteger = 0o21 // 八进制17
let hexadecimalInteger = 0x11 //十六进制17
2.浮点字面量
//十进制的指数
let exp1 = 1.25e2// 1.25 * 10^2 = 125.0
let exp2 = 1.25e-2// 1.25 * 10^-2 = 0.0125
//十六进制的指数
let exp3 = 0xFp2// 15 * 2^2 = 60.0
let exp4 = 0xFp-2// 15 * 2^-2 = 3.75
//十进制的12.1875
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
整数和浮点数都可以添加额外的零并且包含下划线,并不会影响字面量:
let paddedDouble = 000123.456 //123.456
let oneMillion = 1_000_000 //1000000
let justOverOneMillion = 1_000_000.000_000_1 1000000.0000001
类型转换#
OC中的类型强转:(数据类型)变量/常量
Swift中的类型强转:数据类型(变量/常量)
不同类型的算数运算,需要转换为形同的类型
let three = 3
let pointOneFourOneFiveNine = 0.14159
let π = Double(three) + pointOneFourOneFiveNine // π 等于 3.14159,所以被推测为 Double 类型
let πInteger = Int(π)// πInteger 等于 3,所以被推测为 Int 类型
类型别名#
类型别名(type aliases)就是给现有类型定义另一个名字
typealias hello = Int
var a: hello = 5
网友评论