• Swift


    //: Playground - noun: a place where people can play
    
    import UIKit
    
    // 对区间进行判断
    var score = 90
    switch score {
    case 0:
        print("You got an egg!")
    case 1..<60:
        print("Sorry, you failed.")
    case 60..<70:
        print("Just passed.")
    case 70..<80:
        print("Not bad.")
    case 80..<90:
        print("Good job!")
    case 90..<100:
        print("Great!")
    case 100:
        print("Prefect!")
    default:
        print("something wrong with your score")
    }
    
    // 对元组进行判断(1)
    var coordinate = (1, 1)
    switch coordinate {
    case (0, 0):
        print("It's at origin!")
    case (1, 0):
        print("It's an unit vector on the positive x-axis.")
    case (-1, 0):
        print("It's an unit vector on the negative x-axis.")
    case (0, 1):
        print("It's an unit vector on the positive y-axis.")
    case (0, -1):
        print("It's an unit vector on the negative y-axis.")
    default:
        print("It's just an ordinary coordinate")
    }
    
    // 对元组进行判断(2)
    // 可以通过元组的"_"来忽略对元组中某个值的判断
    var coordinate2 = (0, 1)
    switch coordinate2 {
    case (0, 0):
        print("It's at origin!")
    case (_, 0):
        print("((coordinate2.0), 0) is on the x-axis.")
    case (0, _):
        print("(0, (coordinate2.1)) is on the y-axis.")
    case (-2...2, 0...2):
        print("the coordinate is ((coordinate2.0), (coordinate2.1))")
    default:
        print("((coordinate2.0), (coordinate2.1)) is just an ordinary coordinate")
    }
    
    // 对元组进行判断(3)
    // value binding
    var coordinate3 = (0, 1)
    switch coordinate3 {
    case (0, 0):
        print("It's at origin!")
    case (let x, 0):
        print("((coordinate3.0), 0) is on the x-axis.")
        print("The x value is (x)")
    case (0, let y):
        print("(0, (coordinate3.1)) is on the y-axis.")
        print("The y value is (y)")
    case (let x, let y):
        print("the coordinate is ((x), (y))")
    }
    
    // 对元组进行判断(4)
    // where
    // 实现在选择的同时进行逻辑操作
    var coordinate4 = (3, 3)
    switch coordinate4 {
    case let (x, y) where x == y:
        print("((x), (y)), x == y")
    case let (x, y) where x == -y:
        print("((x), (y)), x == -y")
    case let (x, y):
        print("((x), (y))")
    }
    
    // 对元组进行判断(5)
    var courseInfo = ("3-2", "区间运算符")
    switch courseInfo {
    case (_, let courseName) where courseName.hasSuffix("运算符"):
        print("课程<(courseName)>是介绍运算符的课程")
    default :
        print("<(courseInfo.1)>是其他课程")
    }
    
    // where(6)
    var courseName2 = "如何与傻逼相处"
    switch courseName2 {
    case let str where str.hasSuffix("运算符"):
        print("课程<(courseName2)>是介绍运算符的课程")
    default :
        print("<(courseName2)>是其他课程")
    }
    
    // 对元组进行判断(7)
    var coordinate7 = (1, 0)
    switch coordinate7 {
    case (0, 0):
        print("It's at origin!")
        fallthrough     // fallthrough会在当前case执行完之后继续下一个case
    case (_, 0):
        print("((coordinate7.0), 0) is on the x-axis.")
        fallthrough
    case (0, _):
        print("(0, (coordinate7.1)) is on the y-axis.")
        fallthrough
    case (-2...2, 0...2):
        print("the coordinate is ((coordinate7.0), (coordinate7.1))")
    default:
        print("((coordinate7.0), (coordinate7.1)) is just an ordinary coordinate")
    }
    

      

  • 相关阅读:
    判断进程是64bit还是32bit
    判断是否是64位系统(之前那个是判断是否是64位进程不一样。注意区分)
    以程序的方式操纵NTFS的文件权限
    Windows平台内核级文件访问
    TLSAlloc()
    Android开发效率的小技巧
    二分查找法
    unittest 框架
    ASP.NET MVC中使用Ninject
    Java内存区域与内存溢出异常
  • 原文地址:https://www.cnblogs.com/Rinpe/p/5051586.html
Copyright © 2020-2023  润新知