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]) } }