美文网首页
笔记---基础知识

笔记---基础知识

作者: Gary_fei | 来源:发表于2016-12-01 11:27 被阅读0次
    1. 自动推导:var与let类型是根据右侧的代码,自动推导对应类型。在开发中极少使用直接指定类型,通常是自动推导

    2. 由于不可变的更安全,一般都是使用let,只有在提示或者需要改变时才修改为var

    3. 在swift中不存在基本数据类型,都是结构体

    4. 在swift中对类型要求异常严格,不同类型数据之间是不允许直接运算,不允许做默认的隐式转换,只有在所有数据类型一致时才可以相互运算。其中经常使用强制类型转换类型(xxx)

    5. nil不是任何数据类型,也是不能直接进行运算

    6. if表达式中没有非0即真的情况,所以if x{}是错误的,没有这种表达。其中if表达式里声明的var或let数据,作用域只是在{}

    7. guard语句比if语句在解包(Optional)时候,避免在大量串行解包的时候出来叠加。
      // guard :在解包之后,a的作用域还可以使用
      var a:String? = "aaa"
      guard let b = a else { print("a == nil")
      print(b)

      // if :在解包之后,a的作用域只有在{}起作用
      var a1:String? = "aaa"
      if let b = a { print(b)}
      
    8. 在swift3.0中,数组基本没什么变化,可以任意类型的元素,也可以自行判断数组的类型,只是如果元素是不一致的类型,需要声明为Any类型
      let arr2:Any? = ["aa", "bb", 1, 1.21]
      print(arr2)

       let arr3 = ["aaa", "a", 1, 12.2] as [Any?]
       print(arr3)

    相关文章

      网友评论

          本文标题:笔记---基础知识

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