BESS(Back-End Study Space)

swift - 3. 문법(조건문) 본문

iOS DEV/swift

swift - 3. 문법(조건문)

leeez 2020. 12. 16. 14:16

2020/12/15 - [iOS DEV/swift] - swift - 2. 문법(변수,상수,배열,사전)

 

swift - 2. 문법(변수,상수,배열,사전)

2020/12/15 - [iOS DEV/swift] - swift - 1.시작 swift - 1.시작 ▶ DEV TOOL - Xcode 12.2 1. Xcode 실행 2. Create a new Xcode project → Other → Empty → Next 3. Product Name → Next → Create 4. 생성..

leeezxxswd.tistory.com

▶ DEV TOOL

- Xcode 12.2

 

1. 조건문 (if-else, if let, switch)

// 조건문 ( if, switch )
// 타입 뒤에 물음표를 붙이면 optional 값(값이 없을 수도 있음을 의미)이 됨
// 빈 값이라든가, 의미 없는 값이라든가 하는 것도 결국 값이 있는 것이고, 값이 '없다'(nil, 기존의 null)는 것은 아직 값이 할당되지 않은 상태를 명시적으로 표시하는 방법이다.
var optionalName: String? = "LEE" //optionalName = LEE
var optionalNoName: String? //optionalNoName = nil
var greeting = "Hello!"

// if 문
var score = 70
if score > 50 {
    print("pass")
}else{
    print("fail")
}

// if let 문
// if let의 경우, optionalName이 nil이 아니면 true, nil이면 false값을 갖는다.
// 만약 nil이 아니면 해당 블록 내에서 name이라는 상수로 사용 가능하다는 의미
if let name1 = optionalName {
    greeting = "Hello, \(name1)" //result
} else {
    greeting = "Hello, Unknown"
}
if let name2 = optionalNoName {
    greeting = "Hello, \(name2)"
} else {
    greeting = "Hello, Unknown" //result
}

// ?? 연산자는 (value1 ?? value2)에서 value1이 nil인 경우, value2를 선택하고 value1이 nil이 아닌 경우 value1을 선택한다.
var value1: String? = nil
var value2: String = "value2"
var Qresult = "RESULT : \(value1 ?? value2)"
print(Qresult) //value1이 nil이므로 value2 선택
value1 = "value1"
value2 = "value2"
Qresult = "RESULT : \(value1 ?? value2)"
print(Qresult) //value1이 nil이 아니므로 value1 선택


// switch 문 : 하나의 case문이 종료되면 switch문이 종료되므로 break가 필요없음
// 모든 경우를 커버하기 위해 마지막에 default 키워드를 반드시 명시해줘야함.
// 단, default 없이도 모든 경우가 커버되었다면, default 키워드가 없어도 됨.
// break문 필요없음
var language = "ios SWIFT"
switch language {
case "C", "C++": // 여러 케이스를 지정하는 경우
    print("C++")
case "JAVA":
    print("JAVA")
case let x where x.hasSuffix("SWIFT"):
    print("SWIFT")
default:
    print("Computer Language")
}

 

'iOS DEV > swift' 카테고리의 다른 글

swift - 5.문법(Functions and Closures)  (0) 2020.12.20
swift - 4.문법(반복문)  (0) 2020.12.16
swift - 2. 문법(변수,상수,배열,사전)  (0) 2020.12.15
swift - 1.시작  (0) 2020.12.15