어느덧 내일배움캠프 2주차를 맞이했다. 이번주에는 코틀린 언어 기초를 배우는 시간인데, 강의를 보다가 궁금한 부분들이 생겼다. 그래서 한번은 짚고 넘어가고싶어서 이 글을 작성한다.
for(var i:Int in 0..10) {
print(i)
}
이렇게 사용하는순간 바로 에러메세지가 뙇!!! 하고 나온다
'var' on loop parameter is not allowed
for문이 어떻게 작동하는지 알고싶어 구글링하고 이것저것 찾아보고있는데 아직도 잘 이해되지않는다.. 그래서 질문방에 올려놓은 상태이다.
이건 인터넷에서 좀 찾아보니 옛날 프로그래밍 방식에서 함수와 프로시저를 구분해서 사용했는데, 프로시저는 값을 반환하지 않고 함수는 값을 반환하는 것으로 정의해서 사용했다고 한다.
그러다가 사람들이 아래와 같은 코드를 사용하면서 함수와 프로시저의 차이가 사실상 사라지게되었고
int success = saveData(data)
그래서 코틀린에서는 굳이 프로시저 개념을 사용할 이유가 없기에 Unit이라는 싱글톤 객체를 만들어 반환값에 사용할 수 있도록 하였다. 그리고 사람들의 편의성을 위해 반환값이 없는 함수에는 굳이 Unit을 붙이지 않아도 알아서 Unit으로 처리하도록 해주었다.