본문 바로가기
TIL(Today I Learned)

2024.04.09 Today I Learned

by 승환파크 2024. 4. 9.

증감 연산자

블로그를 작성하던 도중 예제 코드를 작성하는 시간이 있었다.

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