[Swift 5] Basic Operators 2

Junyoung Park·2022년 2월 14일
0

Swift5 Docs

목록 보기
4/37
post-thumbnail
  • 다음은 Swift 5.6 Doc의 Basic Operators 공부 내용을 정리했음을 밝힙니다.

Basic Operators

널 병합 연산자

a ?? b을 통해 옵셔널 표현식 a 값을 언래핑한다. 값이 없다면 (즉 널이라면) 디폴트 값으로 준 b를 리턴한다.

  • a != nil ? a! : b를 한 단어로 간략화한 게 ??라고 생각하자.
  • a가 널이 아니면 b 값은 고려되지 않는다. 곧바로 a 값이 리턴된다.
var default_clr = "red"
var defined_clr: String?
var clr = defined_clr ?? default_clr
// if nil then default

범위 연산자

닫힌 범위

(a...b)를 통해 a에서 b까지 범위를 전달하는데, 이때 b까지의 값을 포함하는 데 주의하자.

파이썬에서는 range가 range(a, b)에서 b-1까지이다.

절반 범위

(a..<b)를 통해 a 이상 b 미만까지의 범위를 나타낸다.

let arr = [1, 2, 3, 4]
for i in 0..arr.count {
	print(arr[i])
    // 1, 2, 3, 4 printed
}

파이썬의 range와 동일한 기능이다. 배열 인덱스가 0에서 시작하기 때문에 유용하다.

한 방향 범위

특정 값에서 시작해 배열의 끝 인덱스까지 추출한다. 시작 방향과 끝 방향 둘 중 한 가지만 설정하면 된다.

  • 닫힌 범위, 절반 범위 모두 사용할 수 있다.
for num in arr[2...] {
	print(num)
    // 3, 4 printed
}
for num in arr[...2] {
	print(num)
    // 1, 2, 3 printed
}
for num in arr[..<2] {
	print(num)
    // 1, 2 printed
}

논리 연산자

  • NOT: !a를 통해 a의 불리언 값 부정
  • AND: a $$ b를 통해 ab모두 true일 때 true 반환, 그렇지 않다면 모두 false
  • OR: a || b를 통해 ab 모두 false일 때 false 반환, 그렇지 않다면 모두 true

AND와 OR 모두 left-associative한 연산자이기 때문에 모든 변수의 참 거짓을 확인할 필요 없이 변수 하나의 값으로 결과를 특정할 수 있다면 나머지 변수의 값을 확인하지 않는다.

모두 If 문과 같은 조건문에서 주로 사용된다. AND, OR의 경우 어떤 경우에 각 변수가 불리언 값을 가지는지 확인하자. 괄호를 통해서 순서 역시 조절할 수 있고, 가독성을 살리자.

profile
JUST DO IT

0개의 댓글