Swift

03-Swift中的数据类型

2017-04-05  本文已影响20人  诠释残缺

整数类型#

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
上一篇 下一篇

猜你喜欢

热点阅读