Swift中数据类型
2017-08-19 本文已影响0人
爱做梦的星星
Swift中数据类型
标签(空格分隔): Swift
Swift类型的介绍
- Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等
整数
-
整数就是没有小数部分的数字,比如 42 和 -23.整数可以是 有符号(正、负、零)或者 无符号(正、零)
-
整数范围: min 和 max 属性来获取对应类型的最小值和最大值
let minIntValue = Int.min //-9223372036854775808
let maxIntValue = Int.max//9223372036854775807
let minInt32Value = Int32.min //-2147483648
let maxInt32Value = Int32.max //2147483647
.
.
.
Int
一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同.
- 在32位平台上,Int 和 Int32 长度相同
- 在64位平台上,Int 和 Int64 长度相同
除非你需要特定长度的整数,一般来说使用 Int 就够了。
UInt
Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同.
- 在32位平台上,UInt 和 UInt32 长度相同
- 在64位平台上,UInt 和 UInt64 长度相同
尽量不要使用UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int,即使你要存储的值已知是非负的。统一使用Int可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断.
浮点型
浮点类型比整数类型表示的范围更大,可以存储比 Int 类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型
-
Double
表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。 -
Float
表示32位浮点数。精度要求不高的话可以使用此类型。
注:Double精确度很高,至少有15位数字,而Float只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围,在两种类型都匹配的情况下,将优先选择 Double。
使用
// 定义一个Int类型的变量m,并且赋值为10
var m : Int = 10
// 定义一个Double类型的常量n,并且赋值为3.14
let n : Double = 3.14
Swift中的类型推导
- Swift是强类型的语言
- Swift中任何一个标识符都有明确的类型
- 注意:
- 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.
- 因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型
- 可以通过option+鼠标左键来查看变量的数据类型
// 定义变量时没有指定明确的类型,但是因为赋值给i一个20.20为整型.因此i为整型
var i = 20
// 错误写法:如果之后赋值给i一个浮点型数值,则会报错
// i = 30.5
// 正确写法
var j = 3.33
j = 6.66
Swift中基本运算
- Swift中在进行基本运算时必须保证类型一致,否则会出错
- 相同类型之间才可以进行运算
- 因为Swift中没有隐式转换
- 数据类型的转化
- Int类型转成Double类型:Double(标识符)
- Double类型转成Int类型:Int(标识符)
let a = 10
let b = 3.14
// 错误写法
// let c = a + b
// let c = a * b
// 正确写法
let c = Double(a) + b
let d = a + Int(b)