Menu
Coddy logo textTech

이름이 지정된 반환 값

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 57번째.

Go에서, 함수 선언 시 반환 값에 이름을 지정할 수 있습니다. 이는 코드의 가독성을 높여주며, 단순히 return 문만 사용하여 반환할 수 있게 해줍니다.

이름이 지정된 반환 값을 가진 함수를 생성합니다:

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // "naked" 반환
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

출력은 이전과 동일합니다:

7 ÷ 3 = 2 with remainder 1

이름이 지정된 반환 값은 제로 값으로 초기화되며 함수 본문에서 직접 할당할 수 있습니다.

challenge icon

챌린지

초급

이 챌린지에서는 Go 함수의 이름이 지정된 반환 값(named return values)을 사용하는 연습을 합니다.

사람의 이름, 나이, 학생 여부를 반환하는 getPersonInfo 함수를 완성하세요. 함수에는 이미 이름이 지정된 반환 매개변수가 있지만, 여러분은 여기에 값을 할당해야 합니다.

함수는 이름이 'Alex'이고 나이가 25세이며 학생인 사람에 대해 미리 정의된 값을 반환해야 합니다.

치트 시트

Go에서는 가독성을 높이기 위해 함수 선언에서 반환 값에 이름을 지정할 수 있으며, 일반적인 return 문을 사용할 수 있습니다:

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // "naked" 리턴
}

이름이 지정된 반환 값은 해당 타입의 제로 값(zero value)으로 초기화되며, 함수 본문에서 직접 할당할 수 있습니다.

직접 해보기

package main

import "fmt"

// 이 함수는 명명된 반환 값을 사용합니다
func getPersonInfo() (name string, age int, isStudent bool) {
	// TODO: 명명된 반환 변수에 값을 할당하세요
	// name은 "Alex"여야 합니다
	// age는 25여야 합니다
	// isStudent는 true여야 합니다
	
	// 인수가 없는 "return" 문은 명명된 반환 값을 반환합니다
	return
}

func main() {
	name, age, isStudent := getPersonInfo()
	fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨