美文网首页
swift4.0 的let与var学习(一)

swift4.0 的let与var学习(一)

作者: luke1201 | 来源:发表于2017-12-04 14:35 被阅读0次

    前言

    swift作为一门新语言,对于熟悉Object-C编程的ios开发者来说还是挺容易上手的,但其在语法和编程习惯上改变了很多。本篇以及后续的swift文章都是基于有Object-C的学习,代码为主,文字配合讲解,对你们是一种学习,对我而言同样。

    swift初学 - 简单值之 let 常量与 var 变量

    oc中常用的可变与不可变,在swift中进行了整合,

    • <var 声明> 可变数组、可变字典、变量等等
    • < let 声明> 不可变数组、不可变字典、常量等等

    特别注意!let 和 var 的使用规则

    使用 let 声明常量-------------

    • 使用 let 声明 Int、Double、Float 常量

    let a = 10 <系统自动检测,Int 类型>
    let b:Int = 10 <Int类型>
    let c:Float = 10.0 <Float类型>
    let d:Double = 10.0<Double类型>

    Int、Float与Double相加,必须转成相同的数据类型
    let e:Int =  b + a
    let e:Float = c + Float(a)
    let e:Double = d + Double(a)
    

    • 使用 let 声明 String 常量

    let a = "a"<系统自动检测,无@符号,string 类型>
    let a:String = "a"<String类型>

    字符串与Int、Float与Double类型相加
    let i = 10, d = 10.0, f = 10.0
    let s = "10"
    let stringAddInt:String = s + String(i)                   //"1010"   字符串拼接
    let IntAddString:Int = i +(s as NSString).integerValue    //20       转成oc的字符串,再转成数据类型,最后相加   
    float、double同理
    
    * 理解swift"+"的作用!与oc中"+"的区分!!!
    

    • 使用 let 声明 Array 常量

    let array = ["1","2"]

    let 声明的array 与 oc 中的NSArray 的意义是相同的!!

    • 使用 let 声明 Dictionary 常量

    let dictionary = ["key1" : "value1" , "key2" : "value2"]

    let 声明的 dictionary 与 oc 中的 NSDictionary 的意义是相同的!!

    Array 和 Dictionary 在swift中,都是使用"[  ]"中括号声明,其中的区别请研究上述两个声明方式。
    

    使用 var 声明变量-------------

    • 使用 var 声明 Int、Double、Float 变量

    var a = 10 <未特殊说明,与 let 常量声明规则相同>
    var b:Int = 10
    var c:Float = 10.0
    var d:Double = 10.0

    使用var声明 a、b、c、d,可以被重复赋值!!!

    a += b  //a = 20 
    b = 20  
    c = 20.0
    d = 20.0
    

    • 使用 var 声明 String 变量
    创建一个空字符串

    var string = ""
    string = "test1" <正确>
    string = "test2" <正确>

    使用var声明 string,可以被重复赋值!!!


    • 使用 var 声明 Array 变量 - 可变数组

    var array = ["111","222"]

    创建一个空数组
    var array = [Int] ()   //中括号为元素类型
    var array = [String] ()
    var array =  [any] () //any表示任意类型
    

    var 声明的 Array 与 oc 中的NSMutableArray 的意义是相同的!!!


    • 使用 var 声明 Dictionary 变量 - 可变字典

    var dictionary = ["key1" : "value1" , "key2" : "value2"]

    创建一个空字典
    var emptyDictionary = Dictionary<key,  value>
    var emptyDictionary = Dictionary<key, String>
    var emptyDictionary = Dictionary<key, Array>
    var emptyDictionary = Dictionary<key, Dictionary>
    可以使用 emptyDictionary 加入元素,以及处理元素
    

    var 声明的 dictionary 与 oc 中的NSMutableDictionary 的意义是相同的!!!

    总结

    swift中的 let 与 var 声明对象统一了原本oc中的NS和NSMutable部分类。  
    发现有一些微妙的变化,细节描述不清,待日后完善。
    

    相关文章

      网友评论

          本文标题:swift4.0 的let与var学习(一)

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