학습 기록/swift

if and else

romi__ 2024. 11. 21. 16:15

/Swift

 

기본적인 if/else문에 대해서 알아보자.

 

import Foundation

let myName = "Romi"
let myAge = 20
let yourName = "Olivia"
let yourAge = 19

if myName == "romi" {
	"Your name is \(myName)"
} else {
	"Oops, I guessed it wrong."
}

 

myName이라는 변수와 romi를 비교했을 때, 동일하면(true) 중괄호 안의 문장을 출력한다. 이때 \(변수명)으로 변수를 받아와 출력할 수 있다. 조건을 만족하지 않는다면 else로 넘어간다.

 

if myName == "Romi" {
	"Your name is \(myName)"
} if else myName == "Olivia" {
	"Are you Olivia?"
} else {
	"Okay. I give up"
}

 

else if문을 이용하여 계속해서 condition을 추가해 줄 수 있다. 

 

myName == "Romi"처럼 왼쪽에서 오른쪽으로 변수를 대상과 비교하는 순서로 쓰는 것이 일반적이지만, 간혹 old school coders나 uncommon 하게 순서가 바뀔 때도 있다. if "Romi" == myName~ 이렇게 쓰는 경우도 있다는 뜻. 일반적이진 않지만 회사에서 이런 방식을 채용한다면 따라가야겠지...

 

if myName == "Romi" && myAge == 30 {
	"~"
} else if myAge == 20 {
	"~~~"
} else {
	"~~~~~~"
}

 

조건이 두 개인 경우도 존재한다. 그런 경우세는 &&(AND)나 ||(OR) 연산자를 활용하여 조건을 걸어 주면 된다. &&의 경우 두 가지 조건이 모두 충족되어야 진입한다.

 

if myAge == 20 || myName == "Foo" {
	"Either age is 20, name is Foo or both."
}

 

위와 같은 예시 코드에서, 우리는 조건 중 myAge == 20이 true라는 것을 알 수 있다. 이렇게 OR로 묶인 if문에서 앞선 condition이 충족되면 다음 조건을 살펴보지 않고 바로 중괄호 안의 명령문으로 진입한다는 것을 유의해야 한다. 추후 if else로 또 다른 조건에 맞는 코드를 걸어줘도 스위프트는 이를 고려하지 않는다.

 

if (myName == "Romi" && myAge == 20)
	&& (yourName == "Olivia" || yourAge == 30)

 

위의 예시 코드처럼 괄호로 조건을 묶어줄 수 있다. 좀 더 확실하고 오류 없는 코딩이 가능해진다.

'학습 기록 > swift' 카테고리의 다른 글

external/internal argument, @discardableResult  (0) 2024.11.23
function  (0) 2024.11.22
Operators  (0) 2024.11.20
NSArray, NSMutableArray  (0) 2024.11.19
Hello World + Variables  (0) 2024.11.18