• Swift 程序流程控制


    Swift采用类同c语言的流程控制语句,if, for, for-in,  while,  do-while , switch, break, continue .Swift语言的Switch语句自动添加了break效果,这样你可以不用没个case后面再写break.同c语言不同,swift语言的if for while 等,没有括号来括表达式

    1: if 语句。if语句只对逻辑值检测。这里不同于c语言的if语句是检测是否 非0.

    var bFlag:Bool = true
    if bFlag {
        println("(bFlag)")
    }

    2: for语句,for语句的用法类似于c语言for语句

     var index:Int = 0
    for index; index < 5; index++ 
    {
         println("(index)
    ")  
    }

    3: for-in语句用于多集合的遍历

    for item in 1..5 {
        println("(item) ")
    }

    如果不使用集合元素可以用 _忽略

    var iCount : Int = 1
    let iBase : Int = 2
    for _ in 1...3 {
      iCount *=  iBase
    }
    println("(iCount)")

    用for-in 遍历数组

    let array = [1,3,5,7]
    for item in array {
        println("(item) ")
    }

    for-in 遍历字典 

    let dic  = ["key1":"value1", "key2":"value2", "key3":"value3"]
    
    for (key, value) in dic {
        println("key:(key) value:(value) 
    ")
    }

    4:while循环。while循环判断逻辑值

    var bFlag:Bool = true
    var iCount:Int = 0
    while bFlag
    {
        iCount++
        if iCount > 3 {
            bFlag = false
        }
        println("(iCount)
    ")
    }

    5: do-while 。while/ do-while 循环控制流程是和c语言一样的,只是他们的判断是逻辑值而不是c语言那样的 !0 值。

    var bFlag:Bool = true
    var iCount:Int = 0
    do
    {
        iCount++
        if iCount > 3 {
            bFlag = false
        }
        println("(iCount)
    ")
    }while bFlag

    6:switch 语句。switch语句必须是完备的语句,defualt语句必须在所有case语句的最后。每个case后switch语句会自动break。case 块中不允许空语句。一个case条件可以使用范围匹配。同时case条件可以使用元组匹配,而且元组可以用 "_" 表示任何值

    let iCount :Int = 3
    switch iCount{
    case 1...6:
        println("in")
    case 7..9:
        println("out")
    default:
        println("def")
    }
    let character: Character = "c"
    switch character{
    case "a", "b", "c" :
        println("xx")
        case "d", "e":
        println("oo")
    default:
        println("def")
    }
    var somePointe = (1,2)
    switch somePointe {
    case(0, 0):
        println("0.0")
    case(_, 2):
        println("_, 2")//_匹配 进这句
    case(1, 2):
        println("1, 2")//不会进,前面已经bread
    default:
        println("def")
        
    }
    fallthrough  关键字是在switch语句中去除break,让代码可以继续下个语句。
     
  • 相关阅读:
    了解Web2.0必订阅之十大Blog[个人推荐]
    [J2ME Q&A]Target port denied to untrusted applications问题回应
    2005年Csdn十大最热门BLog作者排名第一?
    J2me流媒体技术实现讨论[1]
    液氮
    微分、差分和变分的概念
    Python mutable vs immutable (不可变对象 vs 可变对象)
    异戊烷
    免疫组化
    [导入]java escape unescape
  • 原文地址:https://www.cnblogs.com/zhidao-chen/p/3868170.html
Copyright © 2020-2023  润新知