美文网首页
[Swift5.1] 1.1-基本数据类型

[Swift5.1] 1.1-基本数据类型

作者: codeTao | 来源:发表于2020-05-22 16:49 被阅读0次

    Swift开源库

    print 函数

    • 不用编写main函数, Swift将全局范围内的首句可执行代码作为程序入口.
    • 一句代码尾部可以省略分号 , 多句代码写到同一行时必须用分号( ; )隔开
    • var定义变量, let定义常量, 编译器能自动推断出变量\常量的类型
    let a = 1 
    let b = 2
    let c = a + b
    c + = 3
    
    • 拼接打印
    var a = 10
    print("Hello World! - \(a)")   //打印   Hello World! - 10
    

    Playground 快捷键

    • Playground可以快速预览代码效果, 是学习语法的好帮手
    • Command + Shift + Enter: 运行整个Playground
    • Shift + Enter 运行截止到某一行代码

    注释

    // 单行注释
    /*
     多行注释
    */
    
    /*
     a
     /* 多行注释嵌套 */
     b
    */
    
    
    • 注释支持markup语法, 类似markload
    • 开启markup渲染效果: Editor -> Show Rendered Markup
    • 注意: Markup 只在Playground

    常量

    • 常量只能赋值一次
    • 常量的值不要求在编译时期确定, 但使用之前必须赋值1次
    let age = 10
    let age2 : Int
    age2 = 20
    
    func getAge() -> Int{
        return 30;
    }
    
    let age3 = getAge()
    
    • 常量, 变量在初始化前, 都不能使用
    let age : Int
    var height : Int
    print(age)                    //错误提示: Constant 'age' used before being initialized
    print(height)                //错误提示: Variable 'height' used before being initialized
    
    • 定义常量时,需要明确类型
    let age
    age = 18          
    //错误提示 Found an unexpected second identifier in constant declaration; is there an accidental break?
    

    标识符

    • 标识符(比如常量名、变量名、 函数名)几乎可以使用任何字符
    • 标识符不能以数字开头, 不能包含空白字符、 制表符、 箭头灯特殊字符
    func 🐱🍉() {
        print("888")
    }
    🐱🍉()
    
    let 🥛 = "milk"
    var 🍺 = "bear"
    

    数据类型

    数据类型.png
    • 整数类型: Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64
    • 在32bit平台,Int等价于Int32; 在64bit平台,Int等价于Int64
    • 整数的最值:UInt8.max、Int16.min
    • 一般情况下,都是直接使用Int即可
    • 浮点类型:Float, 32位,精度只有6位; Double, 64位,精度至少15位

    字面量

    • 布尔
    let bool = true //取反是false
    
    • 字符串
    let string = "你好"
    
    • 字符(可存储ASCII字符、Unicode字符)
    let character: Character = "🍎"
    
    • 整数
    let intDecimal = 18 //十进制
    let intBinary = 0b10001 //二进制
    let intOctal = 0o33   //八进制
    let intHexadecimal = 0x13 //十六进制
    

    整数和浮点数可以添加额外的零或者添加下划线来增强可读性

    100_1000、1_000_000.000_000_1、000123.456
    
    • 浮点数
    let doubleDecimal = 123.0 //十进制,等价于1.23e2,  0.0123等价于1.23e-2
    let doubleHexadecimal1 = 0xFp2 //十六进制,意味着15*2^2, 相当于十进制60.0
    let doubleHexadecimal2 = 0xFp-2 //十六进制,意味着15*2^-2, 相当于十进制3.75
    

    以下表示12.3456
    十进制:12.3456 1.23456e1
    十六进制:0xC.3p0

    • 数组
    let array = [1, 3, 5, 7, 9]
    
    • 字典
    let dictionary = ["age" : 18, "height" : 177, "weight": 130]
    

    类型转换

    • 整数转换
    let int1: UInt16 = 2_000
    let int2: UInt8 = 1
    let int3 = int1 + UInt16(int2)  //2001
    
    • 整数 浮点数转换
    let int = 3
    let double = 0.14157
    let pi = Double(int) + double   //3.14157
    let intPi = Int(pi)   //3
    
    • 字面量可以直接相加, 以为数字字面量本身没有明确的类型
    let result = 3 + 0.14159  //3.14159
    

    元组

    //通过下标访问元组元素
    let http404Error = (404, "Not Found")
    print("The status code is \(http40Error.0)")   //The status code is 404
    
    //将http404Error中元素, 一一对应给新元组元素
    let (statusCode, statusMessage) = http404Error
    print("The status code is \(statusCode)")   // The status code is 404
    
    // _代表第二个参数不接收
    let (justTheStatusCode, _) = http404Error
    
    //以标签形式初始化元组, 可以通过标签访问元素
    let http200Status = (statusCode:200, description:"OK")
    print("The status code is \(http200Status.statusCode)")  //The status code is 200
    

    相关文章

      网友评论

          本文标题:[Swift5.1] 1.1-基本数据类型

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