Go 함수(func)

Go 함수(func), 여러 반환값 받기, 가변 인수

함수(func)

func는 함수를 정의한다. return은 함수의 반환 값을 지정한다.

package main

import "fmt"

func add(x int, y int) int {
	return x + y
}

func main() {
	fmt.Println(add(5, 3)) // => 8
}

실행 결과:

8

여러 반환값

여러 값을 반환할 수도 있다. 여러 경우 유형 이름은(...)로 묶어야 한다.

package main

import "fmt"

func addMinus(x int, y int) (int, int) {
	return x + y, x - y
}

func main() {
	add, min := addMinus(8, 5)
	fmt.Println(add, min)
}

실행 결과:

13 3

여러 값을 반환하는 함수 등에서 불필요한 반환 값이 있으면 공백 변수 _를 사용할 수 있다.

// funcA() 는 x 와 y 를 반환하지만, x 는 무시하고 y 만 받는다.
_, y := funcA()

가변 인수

...를 사용하여 가변 인수를 실현할 수 있다.

package main

import "fmt"

func funcA(a int, b ...int) {
	fmt.Printf("a=%d\n", a)
	for i, num := range b {
		fmt.Printf("b[%d]=%d\n", i, num)
	}
}

func main() {
	funcA(1, 2, 3, 4, 5)
}

실행 결과:

a=1
b[0]=2
b[1]=3
b[2]=4
b[3]=5



최종 수정 : 2023-03-26