Menu
Coddy logo textTech

여러 값 반환하기

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

Go 함수는 한 번에 여러 값을 반환할 수 있으며, 이는 결과와 오류 정보를 모두 반환하는 데 매우 유용합니다.

몫과 나머지를 모두 반환하는 함수를 만드세요:

func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}

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

이 프로그램을 실행하면 다음과 같이 출력됩니다:

7 ÷ 3 = 2 with remainder 1

함수는 쉼표로 구분된 두 개의 값을 반환하며, 할당 시 여러 변수를 사용하여 두 값을 모두 캡처합니다.

반환된 값 중 일부만 필요한 경우, 빈 식별자(blank identifier) _를 사용하여 필요하지 않은 값을 무시할 수 있습니다:

q, _ := divide(7, 3)  // 나머지는 무시합니다
fmt.Println("Quotient:", q)

_를 사용하면 Go에게 해당 반환 값을 무시하도록 지시합니다. Go는 사용되지 않는 변수를 허용하지 않기 때문에, 값을 사용하지 않을 때 이 작업이 필요합니다.

challenge icon

챌린지

초급

이 챌린지에서는 Go의 함수에서 여러 값을 반환하는 연습을 합니다.

사람의 이름, 나이, 학생 여부를 반환해야 하는 getPersonInfo라는 함수가 있습니다. 여러분의 작업은 적절한 return 문을 추가하여 함수를 완성하는 것입니다.

직접 해보기

package main

import "fmt"

// 이 함수는 세 가지 값 name, age, isStudent를 반환해야 합니다
func getPersonInfo() (string, int, bool) {
	// 변수는 이미 정의되어 있습니다
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: 세 가지 값(name, age, isStudent)을 모두 반환하세요
	
}

func main() {
	// 함수를 호출하고 반환된 값들을 저장합니다
	name, age, isStudent := getPersonInfo()
	
	// 값들을 출력합니다
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", isStudent)
}
quiz icon실력 점검

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

기초의 모든 레슨