Swift 연산자와 표현식
변수에 값을 할당하는 방법은 기본적으로 표현식을 따릅니다. 피연산자와 할당자 그리고 연산자를 통해 값을 생성하고 변수에 데이터를 저장할 수 있습니다.
var number = 1 + 2
1. 할당 연산자
(=)를 사용해 변수에 값을 저장합니다.
2. 복합 할당 연산자
(+=) (-=) 처럼 산술연산자나 논리연산자를 할당연산자에 결합해서 사용하는 형태입니다.
var num = 10
// Addition assignment operator (+=)
num += 5 // Equivalent to: num = num + 5
print(num) // Output will be 15
// Subtraction assignment operator (-=)
num -= 3 // Equivalent to: num = num - 3
print(num) // Output will be 12
// Multiplication assignment operator (*=)
num *= 2 // Equivalent to: num = num * 2
print(num) // Output will be 24
// Division assignment operator (/=)
num /= 4 // Equivalent to: num = num / 4
print(num) // Output will be 6
// Modulo assignment operator (%=)
num %= 5 // Equivalent to: num = num % 5
print(num) // Output will be 1
3. 비교 연산자
let a = 10
let b = 5
// Equality operator (==)
let isEqual = a == b // false
// Not equal operator (!=)
let notEqual = a != b // true
// Greater than operator (>)
let greaterThan = a > b // true
// Less than operator (<)
let lessThan = a < b // false
// Greater than or equal to operator (>=)
let greaterThanOrEqual = a >= b // true
// Less than or equal to operator (<=)
let lessThanOrEqual = a <= b // false
print("Is equal: \(isEqual)")
print("Not equal: \(notEqual)")
print("Greater than: \(greaterThan)")
print("Less than: \(lessThan)")
print("Greater than or equal to: \(greaterThanOrEqual)")
print("Less than or equal to: \(lessThanOrEqual)")
4. 논리 연산자
let isRaining = true
let isCold = false
if isRaining && isCold {
print("It's raining and cold. Better stay indoors.")
} else if isRaining || isCold {
print("It's either raining or cold. Take an umbrella or wear a jacket.")
} else {
print("It's neither raining nor cold. Enjoy the weather!")
}
5. 범위 연산자
반복작업을 할 때 유용하게 사용되는 연산자입니다. 범위 연산자는 ...로 범위를 표현해서 사용할 수 있습니다.
// Closed range operator (...)
let closedRange = 1...5
for number in closedRange {
print(number)
}
위 예제는 닫힘 범위 연산자(closed range operator)라고 합니다. 반대로 반 개방 범위 연산자(half-open range operator)도 있습니다.
// Half-open range operator (..<)
let halfOpenRange = 1..<5
for number in halfOpenRange {
print(number)
}
halfOpenRange 변수는 1부터 4까지의 범위를 순회하면서 코드를 작동합니다.
마지막으로 단방향 범위 연산자(one-side range operator)가 있습니다. 선택 부분 부터 앞쪽 끝까지 혹은 뒷쪽 끝까지 순회하는 연산자입니다.
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let fromIndex = numbers[3...]
print(fromIndex) // Output: [4, 5, 6, 7, 8, 9, 10]
위 예제를 보면 fromIndex는 numbers 배열의 3번 인덱스 부터 끝까지 순회하도록 코딩되어 있습니다.
삼항 연산자[Ternary Operator]
Swift 내에서 논리연산을 통해 컨트롤 플로우를 간단하게 표현한 방식입니다. 조건부 연산자 역할을 하는 삼항 연산자는 한줄로 참 거짓을 바로 판단한 후 적절한 값을 변수에 매칭할 수 있습니다.
기본구조는 다음과 같습니다.
조건 ? 참 일 때 : 거짓일떄
let age = 25
let allowedToDrink = age >= 21 ? "Allowed to drink" : "Not allowed to drink"
위 예제를 보면 age 라는 변수에 25 값이 할당되는데요, 아래 삼항 연산자의 조건식이 참이므로 Allowed to drink 문자열이 출력되는 것을 예상해볼 수 있습니다.
nil 병합 연산자(nil coaleascing operator)
앞에서 살펴본 것 처럼 Swift에서는 옵셔널 변수에 담긴 nil 값이 있는 경우 디폴트 값을 설정할 수 있습니다. nil 병합 연산자를 통해 nil이 있는 경우에 대비할 수 있습니다. 사용법은 (??)으로 간단하게 사용할 수 있습니다.
let optionalName: String? = "John"
// Using nil coalescing operator to provide a default value
let username = optionalName ?? "Guest"
위 예제를 보면 변수에 John이라는 문자열이 담겼기 때문에 아래 username이라는 변수에는 실제 값인 John이 할당됩니다. 만약 nil이 있는 경우 Guest라는 값이 할당 됩니다.
🚀️ 도움이 되셨다면 구독과 좋아요 부탁드립니다 👍️
'Programming > Swift' 카테고리의 다른 글
[iOS Swift5] 함수, 메서드 그리고 클로져 기본 개념 (0) | 2024.01.08 |
---|---|
[iOS Swift5] if else, guard 제어 흐름 관리하기 (2) | 2024.01.05 |
Xcode Playground 사용법 주석 라이브뷰 사용하는 방법 (1) | 2024.01.04 |
[iOS Swift5] 상수와 변수 데이터 타입 옵셔널, 옵셔널 바인딩, 강제언래핑 (0) | 2023.12.26 |
[iOS Swift5] Objective-C를 넘어선 Swift5 언어의 등장 (1) | 2023.12.26 |
댓글