🔥 반환값에 이름 붙이기

268자
4분

Go 언어에서는 함수의 반환값에 이름을 붙일 수 있습니다. 반환값에 이름을 붙이면 함수 내에서 반환값을 변수처럼 사용할 수 있죠. 함수 내에서 반환값을 변수처럼 사용하면 코드를 더 간결하게 작성할 수 있답니다.

반환값에 이름을 붙이면 함수의 반환값이 어떤 의미를 가지는지 문서화할 수 있습니다. 함수의 반환값이 어떤 의미를 가지는지 문서화하면 함수를 사용하는 사람이 함수의 역할을 더 쉽게 이해할 수 있죠.

반환값에 이름을 붙이면 return 문에 반환값을 명시하지 않아도 됩니다. 이를 "naked return"이라고 부릅니다. "naked return"은 함수의 반환값이 명확할 때 사용하면 코드를 더 간결하게 작성할 수 있어요.

하지만 "naked return"은 함수가 길어지면 가독성을 해칠 수 있습니다. 따라서 "naked return"은 함수가 짧을 때만 사용하는 것이 좋아요.

다음은 반환값에 이름을 붙이고 "naked return"을 사용한 예제 코드입니다.

package main
 
import "fmt"
 
func split(sum int) (x, y int) {
	// sum의 4/9를 x에 할당합니다.
	x = sum * 4 / 9
 
	// sum에서 x를 뺀 값을 y에 할당합니다.
	y = sum - x
 
	// naked return을 사용하여 x와 y를 반환합니다.
	return
}
 
func main() {
	// split 함수를 호출하고 반환값을 출력합니다.
	fmt.Println(split(17))
}
 
go

위 코드에서 split 함수는 sum을 입력받아 xy를 반환합니다. xsum의 4/9이고, ysum에서 x를 뺀 값이죠.

split 함수에서는 xy를 반환값으로 선언하고 있습니다. 그리고 return 문에는 반환값을 명시하지 않고 있죠. 이렇게 "naked return"을 사용하면 코드를 더 간결하게 작성할 수 있답니다.

main 함수에서는 split 함수를 호출하고 반환값을 출력합니다. split 함수의 반환값은 xy이므로, fmt.Println으로 출력하면 xy의 값이 출력됩니다.

이렇게 Go 언어에서는 함수의 반환값에 이름을 붙일 수 있습니다. 반환값에 이름을 붙이면 코드를 더 간결하게 작성할 수 있고, 함수의 반환값이 어떤 의미를 가지는지 문서화할 수 있죠. 하지만 "naked return"은 함수가 길어지면 가독성을 해칠 수 있으므로, 함수가 짧을 때만 사용하는 것이 좋아요.