비교 연산자는 결과값이 False or True로 나오는 연산자이다.
좌항과 우항을 비교하여 Bool형 값을 반환하는 연산자이다.
기호는
==
!=
>
<
>=
<=
를 사용한다.
1. == 와 != ( 같으면, 다르면)
a1과 b1가 각각 5와 4일경우
let a1 = 5
let b1 = 4
두 상수를 비교하면
let a = a1 == b1
let b = a1 != b1
같이 표현하며
a의 값은 false 가 되며 b는 true가 된다.
이렇게 변수에 저장하는것 보단 후에 나올 흐름제어, 조건문에서 같이 많이 사용하게 될것이다.
위의 예제처럼
== 는 우항과 좌항이 같을 경우 true, 아니면 false를 반환한다.
!= 는 우항과 좌항이 다를 경우 true를 아니면 false를 반환한다.
3. > 와 < (크다면, 작다면)
위의 a1,b1을 재활용해서 비교해보자
a1 > b1의 값은 true이다. > 는 좌항이 우항보다 클 경우 true를 반환한다.
a1 < b1의 값은 false이다. < 는 우항이 좌항보다 클 경우 true를 반환한다.
4. >= 와 <= (이상, 이하)
let a2 = 5
let b2 = 10
let c1 = 5
일경우
let g = a2 >= b2 // false
let h = a2 <= b2 // true
let i = a2 >= c1 // true
위에서 부터
a2 가 b2보다 크거나 같은가
a2 가 b2 보다 작거나 같은가
a2 가 c1 보다 크거나 같은가
이다.
5. Equatable
모든 값이 비교연산자가 사용가능한것이 아니다.
비교 연산자가 사용 할 수 있는 형식은 Equatable의 규칙을 따르는 데이터형만이 가능하다.
스위프트에서는 프로토콜 이라는 규칙들이 있다. 이는 사용자가 정의할 수 있고 언어에서 미리 정의해둔 규칙이다.
그런 여러 프로토콜중에 Equatable이라는 규칙이 있고 이는 좌항과 우항이 비교할때 어떤식으로 비교가 될것인가를 규정해둔 규칙이다.
이 스위프트 기본이라는 글들을 언제까지 쓰게 될지 모르겠지만 프로토콜까지 쓰게 된다면 상당히 훗날의 일이 될것이다.
'강의를해보고싶었어요 > [강좌] 언어 기본서' 카테고리의 다른 글
[스위프트 기본] 7. 3항 연산자 (0) | 2021.04.27 |
---|---|
[스위프트 기본] 6. 조건문과 반복문 (0) | 2021.04.26 |
[스위프트 기본] 4. 산술 연산자2( 곱셈과 나눗셈 그리고 복합할당연산자) (0) | 2021.03.04 |
[스위프트 기본] 3. 데이터형 (0) | 2021.03.02 |
[스위프트 기본] 2. 산술 연산자1 ( 기본 연산자 ) (0) | 2021.01.31 |