❓ 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 구문이 좋을 것 같다.
'공부 > [iOS&Swift]' 카테고리의 다른 글
[iOS] - Catalog asset(카탈로그 에셋)이란? (0) | 2022.01.12 |
---|---|
[Swift] 스위프트의 클로저(Closure)에 대하여! (0) | 2022.01.11 |
[Swift] 컬렉션타입 그리고 열거형에 대해 간단하게 알아보자! (0) | 2022.01.11 |
[Swift] 컬렉션 타입과 열거형에 대해 간략하게 알아보자! (0) | 2022.01.11 |
[Swift] print함수의 terminator, separator (0) | 2022.01.05 |
댓글