美文网首页
Swift02 - 基础语法

Swift02 - 基础语法

作者: Mr_Shaozj | 来源:发表于2021-11-20 13:42 被阅读0次

    1. 常量

    • 常量 初始化之后 不可修改
      let a = 10

    • 多个常量的申明
      let a1 = 12,a2 = 32,a3 = 199

    2. 变量

    • 变量 初始化之后 可以修改
      var loginStatus = 1
      loginStatus = 2
      var name:String = "Mr.j"
      name = "test"

    • 多个变量的申明
      var mulogin = 1,login1 = 12,login2 = 21

    3. Swift中的类型推断

    let meaningOfLife = 42 meaningOfLife 会被推测为 Int 类型
    let pi = 3.14159 pi 会被推测为 Double 类型
    let anotherPi = 3 + 0.14159 同时出现了整数和浮点数,会被推测为Double类型: anotherPi 会被推测为 Double 类型

    4. 数字文字

    一个十进制数,没有前缀
    一个二进制数,有0b前缀
    一个八进制数,有0o前缀
    一个十六进制数,有0x前缀
    

    例如:17表示
    let decimalInteger = 17
    let binaryInteger = 0b10001
    let octalInteger = 0o21
    let hexadecimalInteger = 0x11

    5. 数字类型的转换

    • 整数转换
      let twoThousand: UInt16 = 20
      let one: UInt8 = 1
      let twoThousandAndOne = twoThousand + UInt16(one)
    • 浮点数转换
      let three = 3
      let pointOneFourOneFiveNine = 0.14159
      let pi = Double(three) + pointOneFourOneFiveNine

    6. 类型别名 : 定义现有类型的替代名称

    typealias AudioSample = UInt16
    var maxAmplitudeFound = AudioSample.min

    7. 布尔(Boolean)

    let orangesAreOrange = true  
    let turnipsAreDelicious = false
    

    8.元组

    • 将两个不同的数据类型组合在一起形成一个整体 就是一个元组, 元组 也是一个数据结构 一般是作为 参数的返回值
      用var定义的元祖就是可变元组,let定义的就是不可变元组
      不管是可变还是不可变,元组在创建后就不能增加和删除元素,可以对可变元组的元素进行修改,但是不可以改变其类型
      any类型可以改为任何类型
    let student = ("zhangsan",30,12.02)
    print(student.0)
    print(student.1)
    print(student.2)
    
    • 通过这样的方式可以引用元组里面的每个值
    let student1 :(String ,Int,Float) = ("zhangsan",30,12.02)
    let(name,age,score) = student1;
    print(name)
    print(age)
    print(score)
    
    • 如果只是关注元组里面的某像元素 不关注的可以写 "_"
    let (name1,_,score1) = student1;
    print(name1)
    print(score1)
    
    • 在定义元组时命名元组中的各个元素
    let student2 = (name:"jason",age:"27")
    print(student2.name)
    print(student2.age)
    

    9.可选类型

    可选值:有值,没有值(nil)
    可选值可以用if语句来进行判断
    在oc中 nil 是一个指向不存在的对象指针
    在swift中,nil不是一个指针,它是值缺失的一种特殊类型,任何类型的可选项都可以设置为nil,而不仅仅是对象类型

    
    var optvalue :Int? = 9
    var name:String?
    if (optvalue != nil) { 
       print(optvalue!)
    }
    
    //多个可选项,在判断的时候,可以使用逗号分隔,如果任意一个可选绑定的结果是nil,则整个if条件为false
    var string :String? = "abc"
    let age:Int? = 12
    if let values = string,let ageValue = age {
       print(values,ageValue)
    }
    
    • "!" 表示对可选值的强制解包
    var svalue :Int = optvalue!
    print(svalue)
    
    • 如果 当前的可选值 没有值 我们就不可以对其进行强制解析 错误示范如下:
    //var optionValue : Int?
    //var svalue1 = optvalue!   ---- crash
    
    

    10.隐式可选类型

    隐式解析可选类型 两种状态 : 有值 没有值(nil)
    如果初始化 隐式解析可选值 没有值的话 隐式解析 还是会出现运行时错误

    var impOptvalue : Int! = 10
    if (impOptvalue != nil) {
        print(impOptvalue)
    }
    if var newimpOpvalue = impOptvalue {
        print(newimpOpvalue)
    }
    

    11. 可选绑定

    • 格式
    var testName:String? = "Jason"
    if var name = testName {
        print(name)
    }
    
    可选类型的判断
    if assumedString != nil {
        print(assumedString!)
    }
    

    12.异常错误处理

    异常抛出函数throws

    func canThrowAnError() throws {
        // this function may or may not throw an error
    }
    
    do {
        try canThrowAnError()
        // no error was thrown
    } catch {
        // an error was thrown
    }
    

    13. 调式断言

    assert(condition: Bool,message: String)
    assertionFailure(message: String)
    

    相关文章

      网友评论

          本文标题:Swift02 - 基础语法

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