일단 보겠습니다.
저의 작명으로 헐 벗은 반환?
이라고 할 것같은데~ ㅠ.ㅠㅋㅋ
어쨋든
<사진1>
함수의 머리 부분에서 리턴부에 미리 변수명과 타입을 설정해주는 거지요.
만약 로직처리 부분에서 위 사진처럼 하게 되면 오류가 발생한다는점!
즉, 비즈니스 구현부에는 naked return으로 미리 초기화된 반환 변수의 타입을 지정하는 일은 불가한 거조.
<사진2>
결국 사진2와 같이 멋드러지게 naked return을 구현할 수 있습니다.
정리 :
1) 미리 리턴 값의 타입을 지정한다.
2) 실제 비즈니스 로직 구현부의 리턴 키워드에는 return만 달랑 써주거나 혹은 써줘도 무방하다.
defer로는 func이 끝나고 나서 추가적인 동작을 구현 할 수 있어요.
솔직히 defer 있고 없고의 차이를 몰랐는데. 위의 코드를 작성해서, 더 확실히 파악했어요. 가장 맨 앞에 defer expression을 작성했는데도 그 다음 Println()함수가 먼저 실행된게 보이조? 그겁니다.