[Swift] assert & guard


assert

  • 関数は、特定の条件をチェックするために使用され、条件が成立しない場合、メッセージの出力を許可する
  • は、主にデバッグ中に条件を検証するために使用されます.

    guard

  • 条件文をチェックして、後続のコード
  • を実行するかどうかを決定する.
  • guard文の条件文が偽である場合の構文実行->防御コードとしてよく使用される
  • コードの例

    // assert
    
    var value = 0
    assert(value == 0)
    
    value = 2
    assert(value == 0, "값이 0이 아닙니다.")
     Assertion failed: 값이 0이 아닙니다.
    
    
    // guard
    /*
     guard 조건 else {
      // 조건이 false면 else 구문이 실행되고
     return or throw or break를 통해 이후 코드를 실행하지 않도록 만든다.
     }
     */
    
    func guardTest(value : Int) {
        guard value == 0 else {return} // value가 0이 아닐 경우 코드 종료
        print("안녕하세요")
    }
    
    guardTest(value: 0) // 안녕하세요
    guardTest(value : 2) // 아무 일도 없었다..
    
    
    func guardTest2(value : Int?) {
        guard let value = value else {return} // value가 0이 아닐 경우 코드 종료
        print(value)
    }
    
    guardTest2(value : 2) // 2
    guardTest(value : nil) // 함수가 종료, 
    guard文を使用すると、条件文の範囲外で外部バインドの定数を使用できます.