비교 연산자는 결과값이 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이라는 규칙이 있고 이는 좌항과 우항이 비교할때 어떤식으로 비교가 될것인가를 규정해둔 규칙이다.

이 스위프트 기본이라는 글들을 언제까지 쓰게 될지 모르겠지만 프로토콜까지 쓰게 된다면 상당히 훗날의 일이 될것이다.

+ Recent posts