美文网首页Swift 学习日记
Swift学习笔记(简单分支和三目写法)

Swift学习笔记(简单分支和三目写法)

作者: tp夕阳武士 | 来源:发表于2018-03-16 16:47 被阅读17次

    分支

    let x = 10
    //1.条件不需要()
    //2.语句必须用{} 
    //注意:很多公司的代码规范中进制不是使用 {}
    if x > 5 {
          print("大了")
    }else{
          print("小了")
    }
    

    if let /var 和 guard let / var 的用法

    func demo (){
         let oName: String? = "PRF"
         let oAge: Int? = 28
    
          //普通写法
          if oName != nil && oAge != nil {
              print(oName! + String(oAge!) )
          } 
    
         //if let 连用写法 , 判断对象的值是否为nil
         if let name = oName,
            let age = oAge{// let 可以替换成 var 如果在 {} 有修改值的需要的时候使用var
                 //namge 和 age 仅仅在这个 {} 的作用于内生效
                 print(name + String(age))
                 //此时使用name和age都是不用 `!` 强解包的 ,因为name 和age 必不为空
         }else{
                 print("name 或者 age 为 nil")
         }
    
         //guard let / var 写法 ,当有修改值需求的生活,使用var 否则根据系统建议来使用
        guard let name = oNmae,let age = oAge{
                 print ( "name 或者 age 为 nil" )
                 return//必须写return
          }
          print (name + String(age)) //代码执行至此说明 name / age 都有值
    
    }
    
    //MARK: 带参数的方法里的分支
    func demo2(name:String? , age:Int? ){
        //guard let/var  或者  if let/var 的技巧
        //在接收参数是,使用同名的变量或者产量,在后续的使用中都是费控,不用解包
        guard let name = name , age = age {
                print ( "name 或者 age 为 nil")
                return
        }
        print ( name + String(age))
    }
    
    

    三目

    let x = 10
    x > 5 ? print("大了") : print("小了") //输出结果大了
    //三目的写法基本和OC一致
    
    //可省略后半部分 括号:()表示空执行,如果判断结果为否,则什么都不做
    x > 3 ? print("大了") :print() //不输出任何结果
    
    //书写规范:
    //问号与条件之间需要有空格,
    

    问号操作符的用法

    //案例代码
    
    override func viewDidLoad() {
            super.viewDidLoad()
            demo1(x: 10 , y: 20)
            //如果这里输入的参数是x:nil ,y ;nil ,则程序会崩溃
        }
        
        
        //案例方法==无参数无返回值
        func demo1(x:Int?,y:Int?) {
            print(x! + y!)//当x != nil ,y != nil时,程序没有问题
        }
    
    //优化写法
         
         func demo2 (x: Int? , y: Int?){
            
                print((x ?? 0)  + (y ?? 0)) //这是一种简易的三目写法
         }
    
    //示例代码
        func demo3{
         let name : String? = "老王"
         print("\(name ?? "") 你好")//输出结果:老王你好
         print((name ?? "") + "你好")//输出结果:老王你好,如果name == nil 则输出: 你好
         print(name ?? "" + "你好") //结果:老王  如果name == nil 结果: 老王
        }
    
    
    

    相关文章

      网友评论

        本文标题:Swift学习笔记(简单分支和三目写法)

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