**띄어쓰기와 연산자
Swift에서 띄어쓰기는 중요한 문법입니다.
연산자의 앞뒤 둘 중 어디에 공백이 있는지 중요합니다.
A != B와 A! = B는 다른 의미 입니다.
A > B? A : B는 잘못된 사용법이며
A > B ? A : B 처럼 B뒤에 띄어쓰기를 하여 표기해야 합니다.
**피연산자?
1. 피연산자는 처리될 데이터 그 자체를 의미
2. 데이터를 지정하는 컴퓨터 명령어의 일부를 의미
컴퓨터 명령어는 덧셈, 뺄셈 등, 연산을 나타내고, 피연산자는 그 연산의 대상
값을 할당 할 때 사용하는 연산자
A = B
A에 B의 값을 할당한다는 의미
서로 다른 데이터 타입 표기 시 오류 발생
덧셈( + ), 뺄셈 ( - ), 곱셈( * ), 나눗셈 ( / )
**문자열을 합치는 것도 가능합니다.
A % B 의 나머지 연산
3, -3, 3(--3)
-3, -3
아무런 영향을 끼치지 않습니다.
a = a + 2의 연산을 합성, +=형태로 축약 사용 가능 합니다.
각 비교연산은 true 혹은 false 값을 반환합니다.
1 == 1 // true
2 != 1 // true
2 > 1 // true
1 < 2 // true
1 >= 1 // true
2 <= 1 // false
참조 비교 연산자 (식별 연산자)
A와 B가 참조(레퍼런스) 타입일 때 A와 B가 같은(또는 같지 않은) 인스턴스를 가리키는지 비교, true 혹은 false 값을 반환합니다.
부가 설명
Swift의 유일한 참조 타입인 클래스의 인스터스에서만 참조 연산자를 사용할 수 있습니다.
Swift의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입
값의 비교 연산에는 ( == ) 를 사용
클래스의 인스턴스인 경우에만 ( === ) 를 사용
패턴 매치
A와 B의 패턴이 매치되는 지 확인 하여 true 혹은 false 값을 반환합니다.
question ? answer1 : answer2 의 구조
question 조건이 참인경우 answer1, 거짓인 경우 answer2 실행
삼항 조건 연산자는 아래 코드의 축약입니다.
if question {
answer1
} else {
answer2
}
예시
삼항 조건 연산자
풀어쓰기
이와 같이 삼항 조건 연산자는 코드를 줄여 가독성을 높여줍니다.
a ?? b 의 형태
옵셔널 a를 벗겨서 만약 a가 nil 인 경우 b를 반환합니다.
이 nil 병합 연산자는 다음 코드의 축약형입니다.
a != nil ? a! : b
예시
let qqq: Int = www != nil ? www! : 0
위 코드를 아래처럼 간단하게 쓸 수 있습니다.
let qqq: Int = www ?? 0
값(수)의 범위를 표현하고자 할 때 사용합니다.
폐쇄 범위 연산자 (Closed Range Operator)
표현 : A...B
설명 : A부터 B까지, A와 B를 포함
반폐쇄 범위 연산자 (Half-Open Range Operator)
표현 : A.. <B
설명 : A부터 B미만 까지, A포함 B미포함
단방향 범위 연산자 (One-Side Ranges)
표현 : A... // ...A // .. <A
설명 : A이상의 수 // A이하의 수 // A미만의 수
true, false를 서로 반대되는 값으로 바꾸는 연산자입니다.
true는 false으로, false는 true로 변환 됩니다.
표현 하는 방법은 참true 또는 거짓false 앞에 느낌표! 를 넣어 주면 된다.
두 불린 값 모두 true일 경우 true가 되는 연산자입니다.
a && b 의 형태
두 불린 값중 하나만 true여도 true가 되는 연산자입니다.
a || b 의 형태
참고 자료
https://seons-dev.tistory.com/127
https://jusung.gitbook.io/the-swift-language-guide/language-guide/02-basic-operators