더북(TheBook)

2.4 함수

2.4.1 함수 정의

함수는 func 키워드로 선언한다. 변수 선언과 마찬가지로 반환 타입을 마지막에 표기한다.

func 함수명(매개변수) (반환타입 또는 반환값) {
    ...
}

매개변수가 없을 때는 (매개변수) 부분을 빈 괄호(())로 작성하고, 반환 값이 없을 때는 (반환타입 또는 반환값) 부분을 생략할 수 있다.

func myFunc() {
    ...
}

매개변수

매개변수가 여러 개일 때는 콤마(,)로 구분하여 작성한다. 같은 타입인 매개변수가 여러 개일 때는 매개변수 이름을 콤마로 구분하여 작성하고 타입은 마지막에 표기한다.

func myFunc(b bool, s string, i, j, k int) {
    ...
}

가변 인자

마지막 매개변수 타입 앞에 생략 부호()를 표기하면 여러 개의 값을 배열로 받는다. 이를 가변 인자라고 한다. 매개변수의 개수가 정해져 있지 않고 유동적으로 변할 때 사용하면 유용하다.

func myFunc(s string, integers int) {
    fmt.Println(s)
    for i := 0; i < len(integers); i++ {
        fmt.Println(integers[i])
    }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.