증감 연산자
블로그를 작성하던 도중 예제 코드를 작성하는 시간이 있었다.
var cnt = 30
func autoIncrement(value: Int) -> Int {
var value = value
value++ // <- 오류
return value
}
print(autoIncrement(value: cnt))
print(cnt)
바로 이 코드였는데 사실 이전에 java 를 배웠었기 때문에 정말 자연스럽게 'value += 1' 대신 증감 연산자를 이용한 'value++' 코드를 작성하였다.
오류를 살펴보니 "Cannot find operator '++' in scope; did you mean '+= 1'?" 라는 오류가 보였다. 이 뜻은 증감 연산자를 사용해서 오류가 발생한 것이라고 알려주는 오류메세지였다.
그래서 검색을 통해 알아보니 증감연산자는 스위프트 3에서 공식적으로 삭제가 되었다. 따라서 스위프트에서는 증감 연산자를 사용할 수 없기 때문에 += 과 -= 와 같은 복합 할당 연산자를 써야 한다는 것을 깨닫게 되었다.
따라서 코드는 아래와 같이 수정해야 정상적으로 돌아가는 코드가 된다.
var cnt = 30
func autoIncrement(value: Int) -> Int {
var value = value
value += 1
return value
}
print(autoIncrement(value: cnt))
print(cnt)
'TIL(Today I Learned)' 카테고리의 다른 글
| 2024.04.17 Today I Learned (1) | 2024.04.17 |
|---|---|
| 2024.04.16 Today I Learned (1) | 2024.04.16 |
| 2024.04.15 Today I Learned (0) | 2024.04.15 |
| 2024.04.12 Today I Learned (1) | 2024.04.12 |
| 2024.04.08 Today I Learned (2) | 2024.04.08 |