본문 바로가기
Programming/Swift

[iOS Swift5] 연산자와 표현식

by 개발자 염상진 2024. 1. 5.

 

 

 

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라는 값이 할당 됩니다. 

 

 

🚀️ 도움이 되셨다면 구독좋아요 부탁드립니다 👍️

 

 

 

 

[iOS Swift5] 상수와 변수 데이터 타입 옵셔널, 옵셔널 바인딩, 강제언래핑

Swift5 상수와 변수 프로그래밍 언어에서 데이터를 표현하는 방법은 다양합니다. iOS 8 이전까지는 Objective-C로 개발했지만 스위프트 언어가 등장하고 나서는 대부분 흐름이 스위프트로 새로운 기

about-tech.tistory.com

 

 

[iOS Swift5] Objective-C를 넘어선 Swift5 언어의 등장

Swift 5 언어의 출현 현재 애플의 기기에 들어가는 소프트웨어를 개발하기 위해서는 Swift언어를 사용합니다. 애플 에코시스템에서 개발자가 되기 위해서는 Swift 언어를 익혀야 하는데요, Swift 프로

about-tech.tistory.com

 

 

Xcode Playground 사용법 주석 라이브뷰 사용하는 방법

플레이그라운드란? 플레이그라운드는 xcode의 추가적인 기능으로 실시간으로 코드를 실행해볼 수 있는 개발환경입니다. 아이폰 앱을 개발하기 위해서 코딩부터 컴파일 그리고 디버깅의 일련의

about-tech.tistory.com

 

댓글