안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에 다뤄볼 주제는 GUARD 구문 입니다!

저번 시간에 다뤄보았던 if 구문에 이어 guard 역시 

if구문의 친구랍니다 :)

새로운 플레이그라운드를 열어 따라해주세요











// guard 구문!


// guard 구문도 if구문처럼 주어진 식이 참인지 거짓인지 판단하는 구문인 반면, 


// 차이점은 guard구문에는 else 필수이나, 식의 결과가 참일 때는 실행되는 식이 없다는 점입니다.                  그리고 if 구문과 guard 구문은 사용자의 방식에 따라서 서로 상호호환이 가능합니다.


// guard 조건 혹은 표현식 else {


//        실행구문


// }                                            가드구문의 기본 식입니다!


// 가드구문은 주로 코드가 특정조건을 만족하는지 실행전에 미리 점검하기위한 용도로 사용합니다. 예제를 보시죠



func divide(base:Int)  {

    let result = 100/base

    print(result)

}

// 함수를 하나 만들었습니다. 디바이드라는 이름을 가진 함수는 베이스라는 인트타입의 베이스라는 이름의 매게변수를 가지며,  리슐트라는 상수는 베이스 나누기 100이다. 그리고 값을 출력하라! 만약 여기서 베이스의 값이 0 이라면? 에러가 발생합니다. 고로, 이런 에러를 방지하기위해


func guraddivide (base : Int) {

    

    guard base != 0 else {

        print("값을 다시 확인해주세요.")

        return

    }

    let result = 100 / base

    print(result)

}


// 가드를 사용하여, 일종의 안전벨트 혹은 퓨즈를 설계할 있습니다.

// 그래서 값이 0 경우 가드구문이 실행되며, 함수를 종료시키는 반면 0 이상일 경우 아래 구문을 실행시키는거죠

// 위에서 말씀드렸다시피 가드구문과 이프구문은 호환이 가능합니다!


func ifdivide (base : Int) {

    if base == 0 {

        print("연산이 불가함.")

        return

    }

    let result = 100 / base

    print(result)

}


//가드대신 이프로 만약 베이스가 0 경우 함수를 끝내도록 설계되어있습니다.

// 여기서 ~ 차이점은 가드구문은 연산의 필요 조건을 충족시킨다면,


// 이프구문은 실패할 조건을 충족시켜야합니다! 기억해주세요!


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편


2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서


2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스


2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)


2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set


2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!


2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!


2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!


2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!


2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!


2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)


2016/05/13 - [프로그래밍발전소 ♫] - 160513 Swift While 구문편 :)


2016/05/15 - [프로그래밍발전소 ♫] - 160515 Swift IF문! 조건문에 대해서 :)



by 밑바닥에서 글로벌로~ 발전소장 에르 :) 2016. 5. 27. 18:21