美文网首页Swift
03-Swift中的数据类型

03-Swift中的数据类型

作者: 诠释残缺 | 来源:发表于2017-04-05 16:09 被阅读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
    

    相关文章

      网友评论

        本文标题:03-Swift中的数据类型

        本文链接:https://www.haomeiwen.com/subject/bctxattx.html