(三)swift支持的流程结构

作者: IIronMan | 来源:发表于2016-06-27 13:30 被阅读32次

    一、swift支持的流程结构

    1、循环结构

      for、for-in、while、do-while
    

    2、选择结构

      if、switch
    

    3、跟C语言对比

      用法基本一样 for、while、do-while、if
    
      只需关注for-in和switch
    

    二、for-in和范围运算符

    1、for i in 1...3{
         print(i)
      }
      //按顺序从范围中取值赋值给i,每取一次值,就执行一次循环体
    
    2、如果需要用到范围的值,可以使用下划线_进行忽略,节省内存
    

    三、switch

    1、格式
    
       let grade = "B"
    
         switch(grade){
    
           case "A":
        
            print("优秀生")
    
           case "B":
    
            print("中等生")
    
           case "C":
    
            print("及格生")
    
           default:
    
            print("未知")
    
          }
    
    2、switch语句在swift和C中的区别
    
       1)case
    
          case和switch()后面可以是任意类型
    
       2)break
    
          在C语言中,如果case的结尾没有break,j就会接着执行下一个case
    
          在swift语句中,不需要再每一个case后面增加一个break,执行完case对应的代码后默认会自动退出switch语句
    
       3)default不能省
    
          switch要保证处理所有可能的情况,不然编译器直接报错
    
       4)每一个case后面必须有可执行的语句
    
    3、case的多条件匹配
    
        一个case后面可以填写多个匹配条件,条件之间用逗号隔开
    
    4、case的范围匹配
    
        case后面添加90...1000
    
    5、case还可以用来匹配元组
    
         let point = (1,1)
    
         switch point{
    
            case (0,0):
    
              print("圆点上)
    
            case (_,0)://_能匹配任何值
    
              print("这个点在x轴上")
    
            case (-2...2,-2...2):
             
              print("这个点在矩形框内")
    
            default:
    
              print("这个点在其他位置")
    
         }
    
    6、数值绑定
    
       在case匹配的同时,可以将swift中的值绑定给一个特定的变量或者常量,以便在后面的语句中使用
    
        let point = (10,1)
    
          switch(point){
    
            case let (x,0):
    
                print("\(x)")
    
            case let (0,y):
                
                print("(y)")
                
            case let (x,y):
                
                print("\(x) \(y)")
            }
    
    7、swich语句可以使用where来增加判断的条件
    
        let point = (10,10)
    
        switch(point){
            
        case let (x,y) where x == y :
            
            print("在x=y那条线")
            
        case let (x,y) where x == -y:
            
            print("在x=-y那条线")
            
        case let (x,y):
            
            print("未知")
        }
    
    8、fallthrough
    
       执行当前case后,会接着执行fallthrogh后面的case或者default语句
    
           let num = 20
    
           var str = "\(num)是个"
    
           switch num{
    
             case 0...50:
    
               str += "0~50之间的"
               fallthrough
    
             default :
    
               str += "整数"
           }

    相关文章

      网友评论

        本文标题:(三)swift支持的流程结构

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