여러 값 반환하기
Coddy GO 여정의 기초 섹션에 포함된 레슨. 109개 중 56번째.
Go 함수는 한 번에 여러 값을 반환할 수 있으며, 결과와 오류 정보를 모두 반환하는 데 매우 유용합니다.
Quotient와 remainder를 모두 반환하는 function을 작성하세요:
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 1function은 쉼표로 구분된 두 values를 반환하며, 할당에서 여러 변수를 사용해 두 values를 모두 캡처합니다.
반환된 값 중 일부만 필요하다면 빈 식별자 _를 사용하여 필요하지 않은 값은 무시할 수 있습니다:
q, _ := divide(7, 3) // 나머지를 무시
fmt.Println("Quotient:", q)_를 사용하면 Go가 해당 반환 값을 버립니다. 값을 사용하지 않을 때 이는 필수인데, Go에서는 사용하지 않는 변수를 허용하지 않기 때문입니다.
챌린지
초급이 챌린지에서는 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)
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입직접 연습해 보세요: 온라인 Go 컴파일러