함수(Function)3

황인호·2022년 11월 10일
0

iOS 기초 문법

목록 보기
10/10

Nested function

스위프트에서는 함수 내부에 함수를 또 정의할 수 있다. 중첩된 함수는 내부에서만 실행되고, 함수 밖에서는 사용이 불가능하다.

func chooseDirection(going: Bool, value: Int) -> Int {
    
    func goStraight(input: Int) -> Int {
        return input + 1
    }
    
    func goBack(input: Int) -> Int {
        return input - 1
    }
    
    
    if going == true {
        return goStraight(input: value)
    } else {
        return goBack(input: value)
    }
}
var value : 9
chooseDirection(going: true, input: value)

guard문

guard문은 if문과 유사하게 쓰이는데 if문에서는 조건이 만족하는 것을 먼저 찾고 마지막에 불만족하는 조건을 걸러낸다. 이렇게 쓰게 되면 조건이 여러개가 될 때 가독성이 떨어진다.

func check(words: String) -> Bool
	if words.count >= 5 {
    print("\(words.count)글자입니다.")	
} 	else { 
		print("5글자 이하입니다.")
}	
이렇게 쓰게 되면 만족하는 조건을 찾을 때까지 계속 확인하고 마지막에 불만족 하는 조건을 찾게 되어서 빠르게 빠져 나올 수 없다.
gaurd문을 사용하게 되면 조건을 불만족하면 바로 빠져나올 수 있다.

func check(words: String) -> Bool {
    guard words.count >= 5 else {  
        print("5글자 이하입니다.")
        return false                            
    }
    print("\(words.count)글자입니다.")
    return true
}
profile
비전공자 iOS 개발 공부

0개의 댓글