작성
·
179
답변 1
0
안녕하세요~ 높은면백두산님!! 좋은 질문이시네요~ :)
이 역시 글로 작성할 수 있어서 바로 말씀드리겠습니다!
결론부터 말씀드리면
step / down 같은 함수는 for ( ) 에서 소괄호 사이에 있고, 소괄호 안에 있는 함수는 1번만 호출되기 때문입니다!
fun main() {
for (i in returnList()) {
println(i)
}
}
fun returnList(): List<Int> {
println("숫자를 반환합니다")
return listOf(1, 2, 3)
}
다음과 같은 코드가 있다고 했을 때, main 함수를 실행시켜 보시면 "숫자를 반환합니다"가 한 번만 호출될거에요!!
그리고 사실, for 문 안에서 함수가 여러번 불리더라도 JVM 위에서 동작하는 Kotlin은 JVM이 알아서 메모리 정리를 해주기 때문에 무한 루프가 도는게 아니라면, stack over flow가 나지 않을 수 있습니다!
감사합니다!!!