go 언어에서의 함수 사용법을 간략히 설명 하고자 한다.


1. 함수의 선언
고랭에서 함수의 선언 위치는 어디든 상관 없다.
c 에서는 main 함수보다 먼저 선언 되어야만 호출이 되지만, 고랭에서는 상관 없다.
2. 함수 형태
func 함수명() (반환값 형, 반환값 형, .. ){
내용
return
}

2. 함수의 문법
고랭의 함수 정의시 중괄호는 반드시 함수 명 뒤에 붙어야 한다.
줄바꿈하여 다음칸에 중괄호를 하면 에러가 발생 한다.

3. 함수의 매개 변수
함수의 매개 변수 타입은 변수 뒤에 명시 한다.
func test( val int )
예 ) val int --> int 형 변수 val

4. 함수의 반환 값
고랭에서는 한번에 여러가지 변수값을 리턴 시킬 수 있다.
c 에서는 여러가지 값을 반환 받기 위해서는 구조체에 값을 넣고 포인터 하나를 반환 하는 식이었으나
고랭에서는 직접 여러 값을 리턴 시킬 수 있다.
여러개의 변수를 리턴 하기위해서는 아래 세 가지만 따르면 된다.
- 함수 형태에서 반환값만 , 로 구분해서 개수를 맞춰준다.
- return 다음에 반환 값도 , 로 구분해 준다.
- 함수를 호출한 곳에서 := 나 = 왼쪽에 값을 순서대로 , 로 구분해 써주면 된다.
예)
package main
import "fmt"

func add(x int, y int)(int, int) {
        var a,b int

        a = x+y
        b = x-y

        return a,b
}

func main() {

        a,b := add(3,2)

        fmt.Println(a,b)
}

5. 가변 함수
함수의 매개변수중 마지막은 타입명 앞에 ... 을 사용해 매개변수가 0 개 이상임을 알리고 사용 할 수 있다.