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

笔记---基础知识

作者: 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