대입연산자
= 연산자는 값을 변수나 상수에 대입할 때 사용합니다.
let age = 20 // 해석 : age 라는 상수에 20을 대입(할당)합니다.
// 이렇게 하면 age에는 실제 값이 20이 들어가있습니다.
var name = "내배캠" // 해석 : name이라는 변수에 "내배캠" 이라는 값을 대입(할당)합니다.
var address = "서울"
name = address // adress에 있는 값 서울을 name 변수에 할당합니다.
print(name) // name변수의 저장 값 "서울"이 출력됩니다.
산술 연산자
* 더하기
var result = 10 + 20 // result 변수에 10 + 20의 값 30을 할당합니다.
print(result) // 출력 : 30
result += 3 // result에 3을 더한 후 값을 할당합니다.
print(result) // 출력 : 33
let value = 5
result += value // result에 value 값 더한 후 할당합니다.
print(result) // 38
* 나누기
* / : 두 값을 나눕니다.
var result = 30 / 7 // result 변수에 30 나누기 7의 값인 4를 할당합니다.
print(result) // 출력 : 4
var result = 10 3 // result 변수에 10 3의 값 30을 할당합니다.
print(result) // 출력 : 30
result *= 2 // result 값에 2를 곱한 값을 할당합니다.
print(result) // 출력 : 60
var result = 10 % 3 // result 변수에 10/3의 나머지값 1을 할당합니다.
print(result) // 출력 : 1
비교 연산자
두 값을 비교하여 참(true) 나 거짓(false)를 반환합니다.
예)
let hello = "안녕하세요"
let hi = "안녕"
hello == hi // false "안녕하세요"와 "안녕"은 같지 않아요!
123 == 123 // true 123 과 123은 같은 값이에요.
hello != hi // true "안녕하세요"와 "안녕"은 같지 않아요.
123 != 123 // false
123 > 123 // false
100 > 120 // false
123 >= 123 // true
123 < 123 // false
123 <= 123 // true
100 < 50 // true
논리 연산자 (Bool 값을 조작하거나 결합할 때 사용합니다)
* NOT 연산자
! 키워드를 사용합니다.
!true 처럼 느낌표가 앞에 옵니다.
Bool 값을 반대로 반환하는 연산자
true → false
* false → true
var allowedEntry = false
print(allowedEntry) // false가 출력됩니다.
print(!allowedEntry) // false의 반대값인 true가 출력됩니다
allowedEntry = !allowedEntry // allowedEntry 변수에 allowedEntry의 값 false 의 반대인 true를 대입합니다.
print(allowedEntry) // true가 출력됩니다.
* AND 연산자
* 두개의 값을 비교하여 두개의 값이 모두 true 일 때 true를 반환하는 연산자
* 한개가 true이고 한개가 false일 때는 false를 반환합니다.
* && 키워드를 사용합니다.
true && true // true
true && false // false
false && false // false
let isHavingPan = false
let isHavingPineApple = true
let pineAppleApplePan = isHavingPan && isHavingPineApple
print(pineAppleApplePan)
// false isHavingPineApple이 false이기 때문에 전체값이 false가 됩니다.
* OR 연산자
* 두개의 값을 비교하여 한개만 true일 때 true를 반환하는 연산자
* 한개가 true 이고 한개가 false일 때 true를 반환합니다.
* || 키워드를 사용합니다.
true || true // true
true || false // true
false || false // false
let isGreenPan = false
let isYelloPan = true
let isHavingPan = isGreenPan || isYelloPan
print(isHavingPan) // true
// isGreenPan, isYellowPan 둘 중 하나가 true여서 true가 할당됩니다.
범위 연산자 (숫자나 값의 범위를 나타낼 때 사용하는 연산자입니다)
(0...3) // 0,1,2,3 의 범위로 0이상 3이하의 범위를 포함합니다.
(10...12) // 10, 11, 12 의 범위로 10이상 12이하의 범위를 포함합니다.
* 반-열림 범위 연산자(Half-Open Range Operator)
* a..<b 와 같이 ..< 를 사용합니다.
* 시작값은 포함되어 있고 마지막 값은 포함되어 있지 않은 범위를 정의합니다.
* a..<b a이상 b미만의 범위를 나타냅니다.
(0..<3) // 0,1,2 의 범위
(10..<15) // 10, 11, 12, 13, 14 의 범위를 포함합니다.
* 단-방향 범위(One-Sided Ranges)
* a... ...b 와 같이 한쪽에만 값을 넣어서 사용합니다.
* 오로지 한쪽으로만 범위를 갖고 있습니다.
(10...) // 10, 11, 12, 13 ...
삼항 연산자
let age = 20
let isAdult = age > 20 ? "성인 입니다" : "미성년자 입니다"
// 위에 코드를 번역해보면
// age 상수에 20 값을 할당합니다.
// isAdult 상수에 age가 20이면 "성인입니다"를 할당하고 아니면 "미성년자 입니다"를 할당합니다.
Swift Convention Guide No.4 → 연산자 코드 컨밴션
Code Block(코드블록)