VesselWheel

assert / guard 본문

Xcode Study

assert / guard

JasonYang 2023. 10. 19. 13:19

ex04.playground.zip
0.02MB

import UIKit

 

// assert / guard

 

/*

 assert (검증) : code 가 통과되는지 중단되는지 검사함

 

 guard (보호) - Early Exit (이른 탈출)

 

 */

 

//  assert

var number1: Int = 10

 

// 10 이면 통과 아니면 중단하기

assert(number1 == 10 , "numbe1 이 10이 아닙니다")

print("number1 이 10 이라서 통과함")

print("number1 :",number1)

 

// assert(number1 == 12 , "numbe1 이 12가 아닙니다")

// Assertion failed: numbe1 이 12가 아닙니다

// print("number1 이 12 이라서 통과함")

// print("number1 :",number1)

print("--------------")

func assertFunc(age: Int?){

    assert(age != nil, "age가 nil임")

    assert(age! >= 0 && age! < 120, "age 가 정상 범위를 넘어감")

    print("입력된 나이는 \(age!) 입니다")

}

 

assertFunc(age: 50)

// error가 발생한 부분에서 중단하고 수정할 수 있도록 함

// assertFunc(age: nil)

// assertFunc(age: 130)

 

// guard let 구문을 사용함

func guardTest(age: Int?){

    guard let age1 = age, age1 >= 0, age1 < 120, age1 != nil else{

        // else 인 경우, Early Exit 해서 return 함

        print("age 가 nil 이거나 정상 범위를 벗어났음")

        return

    }

    // age가 정상적인 경우, 실행되는 code

    print("입력된 나이는 \(age!) 입니다")

}

 

guardTest(age: nil)

guardTest(age: -10)

guardTest(age: 23)

'Xcode Study' 카테고리의 다른 글

sqlite3 설치 및 데이터 생성  (0) 2023.10.26
서버 구축 vapor  (0) 2023.10.26
Generic  (0) 2023.10.19
Extension (확장 - (추가))  (1) 2023.10.19
형변환 : Type Casting(2)  (1) 2023.10.19