• Swift入门篇-基本类型(3)


    一:元组

    格式   
    
    变量或常量关键字  元组变量 = ( 变量,变量, …)
    
    说明: 
    
    1: 元组变量还是一个变量,只不过表现方式和其他变量不一样
    2:()括号里面可以放入N个变量组成

    例子;

    import Foundation
    
    /*
    A是元组变量,()里面放着 整形 和字符串
    
    元组类型为 整形和字符串 组成
    */
    
    var  A = (1,"swift”)//元组变量A 由 整形和字符串 组成
    println(A)

    运行结果

    (1, swift)
    mport Foundation
    
    var B = 12  
    /*
    定义一个元组,元组变量为C , ()里面放 整形变量B 和字符串。
    
    元组类型有 整形 和 字符串组成
    */
    
    var C = (B,"Swift") //元组变量B  由 整形和字符串组成
    println(C)

    运行结果

    (12, Swift)

    元祖访问方式

    1:匿名元组变量来访问

    说明:

     1.1 匿名元组变量和定义好的元组变量参数必须一致

     1.2 需要元组中的个别值,可以使用(_)来忽略不需要的值

    例子(1.1)

    import Foundation
    
    
    var A = (1,"Swift") //元组变量A  由 整形和字符串组成
    
    /*
    
    1: A 是元组变量,由整形和字符串组成
    2:(B,C)是一个匿名元组变量
    3:元组变量A 所对应的值,一一对应赋值给匿名变量。即B =1  C = "Swift"
    
    注意点:
    定义的匿名元组变量个数必须和定义好的元组变量值的个数相同
    
    */
    
    var (B,C) = A
    println("B=(B),C=(C)")

    运行结果

    B=1,C=Swift

    例子 (1.2)

    import Foundation
    
    
    var A = (1,"Swift") //元组变量A  由 整形和字符串组成
    
    /*
    
    1: A 是元组变量,由整形和字符串组成
    2:(_,C)是一个匿名元组变量,其中x下划线(_)代表省略变量
    3:元组变量A 所对应的值,一一对应赋值给匿名变量。即 B="Swfit"
    
    注意点:
    定义的匿名元组变量个数必须和定义好的元组变量值的个数相同
    
    */
    
    var (_,B) = A
    println("B=(B)")

    运行结果:

    B=Swift

    2:通过索引来访问 (与数组访问相似)

    import Foundation
    
    
    var A = (1,"Swift") //元组变量A  由 整形和字符串组成
    
    println(A.0)// A.0 指的是访问 元组变量中的第一个元素 即 1
    println(A.1)// A.1 指的是访问 元祖变量中的第二个元素  即 ”Swift"

    运行结果

    1
    Swift

    3:通过key来访问

    注意点:

     前提是  

    1: 元组变量中变量必须因为字典来访问

    2:访问方式即: 元组变量.key

    import Foundation
    
    /*
     通过key 来访问元组变量 注意点
    1:对应的变量,必须为字典  key: value
    2: 访问的时候,元组变量.key
    */
    
    var  A = (frist:"Hello",second:"swift")
    
    println( A.frist )
    println( A.second )

    运行结果

    Hello
    swift

    二:类型转换

     1:字符串转换为整形 (toInt())

    import Foundation
    
    //字符串转换为Int 类型
    
    var  strA =  "123"
    var  value =  strA.toInt() // toInt 函数是把字符串 转换为整形
    
    println("value=(value)")
    
    
    
    var strB = "12A"
    var value1 = strB.toInt() //toInt 函数是把字符串 转换为整形 其中转换失败值为nil
    
    println("value1=(value1)")

    运行结果

    value=123
    value1=nil
    var  B =  A.toInt() 这个函数 字符串转换为整形 看一下图

    其中 B 为 Int? (可选值) 可以包含整形值和nil

    var  A:Int = 10
    var  A:Int? = 10
    
    不同点:
    var  A:Int? = 10 不仅可以包含整形值,还可以包含nil
    var  A:Int = 10 只能包含整形值

    2:浮点类型转换整形 (Int())

    import Foundation
    
    var  A = 1.10
    
     var B = Int(A) //把浮点类型强制转换为整形
    
    println("B=(B)")

    运行结果

    B=1

    3:整形转换为浮点类型 (Double())

    import Foundation
    
    var  A = 1
    
     var B = Double(A) //整形转换为浮点类型
    var C = Float(A)
    
    println("B=(B) C=(C)")

    运行结果

    B=1.0 C=1.0

    条件语句用法 (if )

    第一种方法

    if
    布尔值 {} 注意点 1: 布尔值等于true 就执行if 里面的方法 2:{} 不能省略 否则会报错 第二种方法
    if 可选值 {} 注意点: 1: 可选值不等于nil 就执行if 里面的方法 2: {} 不能省略 否则会报错
    第三种方法
    if let 常量值 = 可选值 {} 注意点: 1if let 常量值 = 可选值 是把 可选值 赋给 常量值,如果常量值不为nil 就执行if 里面的方法 2: {} 不能省略 否则会报错

    例子

    第一种方法(if +布尔值)

    import Foundation
    
    
    var A = true
    
    // if 后面 跟bool值 为true的时候执行 if后面的{}的方法
    if A {
        println("A=(A)")
    }
    else{
        println("A")
    }

    运行结果

    A=true

    第二种方法  (if +可选值)

    import Foundation
    
    
    
    // -----------------------------可选值不为nil ----------------
    var  A:Int? = 10
    
    //A 的类型int?(可选类型), 如果A不为nil 就执行 if 中{} 里面的方法
    if A {
        println("A=(A)")
    }
    else{
        println("A=nil")
    }
    
    
    //---------------------------可选择为nil---------------
    
    var B:Int? //B 为可选类型,不赋值 默认为nil  如果B 为nil就不执行 if中{} 的放法
    
    if B {
        println("B=(B)")
    }
    else {
         println("B=nil")
    }

    运行结果

    A=10
    B=nil

    第三中方法 (if  let 常量名 = 可选值)

    import Foundation
    
    
    
    //--------------- if let  可选值不为nil
    var  A:Int? = 10
    
    if let B = A{ //解释 A 的值赋给 B 如果B 不为nil  执行 if {} 中方法
        
        println("B=(B)")
    }
    else{
         println("B=nil")
    }
    
    
    //--------------- if let  可选值为nil
    
    var  C :Int? //C 是可选值 ,不赋值 默认为nil
    
    if let D = C { //解释 C 的值赋给 D 如果D 为nil  不执行 if {} 中方法
            println("D=(D)")
    }
    else{
        println("D=nil")
    }

    运行结果

    B=10
    D=nil

    我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,个人理解难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您

     最后总结一下。送上一直思维导图,作为文章的结束

    
    
    
    
    
  • 相关阅读:
    项目中的*签到*小功能!
    亲们,拿到DateTime.Now你是否也是这样比较的?
    <input type="file" />,美化自定义上传按钮
    让你的页面实现自定义的 Ajax Loading加载的体验!
    按回车键提交表单!
    字符串比较大小,CompareTo来搞定!
    巧用Contains可以做到过滤同类项!
    项目开发中遇到的Bug知识整理!
    SharePoint中详细的版本对比
    ASP.NET安全隐患及SharePoint中的Workaround
  • 原文地址:https://www.cnblogs.com/gcb999/p/3777355.html
Copyright © 2020-2023  润新知