본문 바로가기
공부/[iOS&Swift]

[Swift] 연산자 / 조건문 / 반복문 을 간단히 알아보자!

by 인생은아름다워 2022. 1. 11.

❓ Swift의 연산자

다른언어는 어떤지 잘 모르겠지만, 스위프트에서 연산자는 함수이다.

어떤 문제로 표현한 함수이다! 아직 공부하진 않았지만, 아무튼 Swift에서는 연산자가 어떤 함수이기 때문에 원하는대로 변경할 수 있다고 한다. (Patterns에서 다룰 수 있는 내용인 듯?)

🗒️  사용자 정의 연산자

Swift에서는 사용자가 직접 연산자를 정의할 수 있다. 위에서 설명한 것 처럼 연산자가 어떤 함수이기 때문이다.

다만 사용하는 방법은 조금 공부를 해봐야하기 때문에 공식문서를 참조하면 좋을 것 같다.

  • 할당 연산자

값을 할당하는 연산자 A = B (A에 B를 할당)

  • 산술 연산자

수학에서 쓰이는 연산자 A+B A-B A * B A / B A % B

  • 비교 연산자

값을 비교할때 사용하는 연산자 A == B / A >= B / A != B 등

  • 삼항 조건 연산자

(Condition) ? A : B // Condition이 참이면 A, 거짓이면 B를 반환

  • 범위 연산자

A...B A..<B A... ...A ..<A

  • 부울 연산자

!A A && B A || B

  • 비트 연산자

~A A & B A | B A ^ B A >> B // bit shift

  • 복합 할당 연산자

A += B A -= B A <<= N // N bit shift한 값을 할당

  • 오버플로 연산자

&+ // 오버플로에 대비한 덧셈 &* // 오버플로에 대비한 곱셈

  • 기타 연산자

A ?? B // nil 병합 연산자 (A가 nil이 아니면 A, nil이면 B) -A // 부호 변경 A! // 강제 unwrapping A? // 옵셔널 표현 & 옵셔널 추출시 사용 (명시적)

 

 

✏️  반복문

Swift에서 주로 사용되는 조건문은 if, switch, guard가 있다.

📝 if 구문

간단하게 if - else 로 이루어진 분기문이다.

if 조건  { 
	// 조건 == true 일 때
} else {
	// 조건 == false 일 때
}

📝 switch 구문

switch 입력 값 {
case 비교 값 1:
		실행 구문
case 비교 값 2:
		실행 구문
...
default:
		실행 구문
}

여기서 default가 완전한 필수는 아니지만, 컴파일러가 볼 때 입력 값의 범위가 완벽하게 구성되어있지 않다면, default를 넣으라고(정확하게는 모든 범위를 포함하지 못한다고) 에러를 표출한다!

📝 guard문

guard 조건 else { //return throw break continue의 control statement }
// 조건 == true 일 때 실행문

guard문은 early exit이라는 개념이 있다.

if문과 guard문의 가장 큰 차이 : 내가 빨리 탈출하고싶은 상황에서는 guard를 쓰면 이후의 코드는 시행하지 않는 것! 다만, return을 하지 않고싶을 때는 if문을 써야한다!

✏️  반복문

Swift의 반복문은 for ~ in / while / repeat while 이 대표적이다.

for - in 의 경우 흔히 알고 있는 for문

while 도 마찬가지로 흔히 알고있는 while문

repeat while문은 C언어에서의 do - while을 생각하면 될 것 같다.

for 임시 상수 in 시퀀스 아이템 {
	실행 코드
}

while 조건문 {
	// 조건문이 true인 동안 실행
}

repeat{
	//선실행할 구문
} while 조건문

반복문에서는 continue, break등의 제어구문이 사용 가능하다.

위의 반복문들을 상황에 따라 적절하게 사용하면 되는데, sequential한 객체를 다룰때는 for-in 구문이 좋을 것 같다.

✏️  반복문

Swift에서 주로 사용되는 조건문은 if, switch, guard가 있다.

📝 if 구문

간단하게 if - else 로 이루어진 분기문이다.

if 조건  { 
	// 조건 == true 일 때
} else {
	// 조건 == false 일 때
}

📝 switch 구문

switch 입력 값 {
case 비교 값 1:
		실행 구문
case 비교 값 2:
		실행 구문
...
default:
		실행 구문
}

여기서 default가 완전한 필수는 아니지만, 컴파일러가 볼 때 입력 값의 범위가 완벽하게 구성되어있지 않다면, default를 넣으라고(정확하게는 모든 범위를 포함하지 못한다고) 에러를 표출한다!

📝 guard문

guard 조건 else { //return throw break continue의 control statement }
// 조건 == true 일 때 실행문

guard문은 early exit이라는 개념이 있다.

if문과 guard문의 가장 큰 차이 : 내가 빨리 탈출하고싶은 상황에서는 guard를 쓰면 이후의 코드는 시행하지 않는 것! 다만, return을 하지 않고싶을 때는 if문을 써야한다!

✏️  반복문

Swift의 반복문은 for ~ in / while / repeat while 이 대표적이다.

for - in 의 경우 흔히 알고 있는 for문

while 도 마찬가지로 흔히 알고있는 while문

repeat while문은 C언어에서의 do - while을 생각하면 될 것 같다.

for 임시 상수 in 시퀀스 아이템 {
	실행 코드
}

while 조건문 {
	// 조건문이 true인 동안 실행
}

repeat{
	//선실행할 구문
} while 조건문

반복문에서는 continue, break등의 제어구문이 사용 가능하다.

위의 반복문들을 상황에 따라 적절하게 사용하면 되는데, sequential한 객체를 다룰때는 for-in 구문이 좋을 것 같다.

댓글