return@logFor을 사용한 이유가 궁금합니다.
return@logFor ResponseProvider.success("SUCCESS")
return @logFor ResponseProvider.success("SUCCESS")BankService.kt 의 메서드에서 return @logFor을 사용하는 이유를 잘 모르겠습니다 ㅠㅠ
Logging.logFor이란 람다가 끝났다는 걸 바깥함수에 알려주고 이후 로직이 있다면 해당 로직들도 실행하기 위해서일까요?
코알못이라 흙흙
답변 1
1
@logFor 이 들어가는 이유는 제가 해당 함수를 logFor 이라는 함수로 감쌌기 떄문입니다.
해당 블록에서 return하는 값이라는 것을 명시적으로 표기하기 위해서 사용한다고 이해하셔도 됩니다.
좀 더 정확하게 말하면, 어노테이션이 아니고, 함수에 return을 연결하는 Kotlin의 Label 문법이라고 합니다.
이게 Kotlin은 람다(익명 함수) 안에서 return만을 사용하면 바깥함수 까지 종료가 되는 부분이 있어서, 람다 내에서만 반환을 하고 싶다면 저렇게 라벨값을 붙여주셔야 합니다.
쉽게 정리를 하자면,
람다(익명 함수) 블록에서 반환 값을 의미한다.
그냥 return을 하게 되면, 바깥 함수까지 종료가 되기 때문에 해당 블록에 값을 반환하는 것
이 라벨이 없다면 컴파일 에러 발생!
공식 문서 경로는 다음과 같으니 참고해보셔도 좋을꺼같습니다.
라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항
0
21
2
강의가 검은 화면으로 나옵니다.
0
42
1
질문] 에러처리 관련 문의
0
70
2
강의_34] 공통 모듈 관련 질문입니다.
0
82
2
강의 19] 질문입니다.
0
60
2
OkHttpClientConfig timeout 설정 질문
0
64
2
Kotlin data class 엔티티에서 copy로 수정 후 save하는 이유가 있을까요?
0
91
2
JDK 선택할 때 궁금점!!
0
107
3
혹시 어플리케이션을 실행할 수 있게 readme 같은건 따로 없나요?
0
81
1
access_token Db 저장건
0
82
2
data class 관련 질문입니다
0
79
2
TransactionMessage 질문
0
52
2
CompletableFuture 질문
0
85
3
스프링 빈 질문
1
86
2
redisConfig 질문입니다
0
107
1
SpringBoot + Kotlin에서 Redis 캐싱 사용 관련되서 여쭤봐도 될까요?
0
241
2
entity 객체 생성을 data class 로 하신 이유가 있을까요?
0
331
3
@Transactional.kt에 대한 효용성 질문
0
124
1
@Transactional.kt에 대한 효용성 질문
0
194
1
class 가 아닌 파일로 생성하시는이유
0
188
2
카프카 컨슈머 구현 질문
0
154
2
DDL문 정리되어 있는 파일 있을까요?
0
212
2
와 이리 게시판이 조용하노
0
192
1
기기 관련 질문입니다!
0
218
2





