해결된 질문
작성
·
91
·
수정됨
답변 1
1
@logFor
이 들어가는 이유는 제가 해당 함수를 logFor
이라는 함수로 감쌌기 떄문입니다.
해당 블록에서 return하는 값이라는 것을 명시적으로 표기하기 위해서 사용한다고 이해하셔도 됩니다.
좀 더 정확하게 말하면, 어노테이션이 아니고, 함수에 return을 연결하는 Kotlin의 Label 문법이라고 합니다.
이게 Kotlin은 람다(익명 함수) 안에서 return만을 사용하면 바깥함수 까지 종료가 되는 부분이 있어서, 람다 내에서만 반환을 하고 싶다면 저렇게 라벨값을 붙여주셔야 합니다.
쉽게 정리를 하자면,
람다(익명 함수) 블록에서 반환 값을 의미한다.
그냥 return을 하게 되면, 바깥 함수까지 종료가 되기 때문에 해당 블록에 값을 반환하는 것
이 라벨이 없다면 컴파일 에러 발생!
공식 문서 경로는 다음과 같으니 참고해보셔도 좋을꺼같습니다.
단번에 이해되었습니다. Thank you 합니다!!