Go by Example: [12] Functions
Functions
함수는 Go
언어의 핵심중의 핵심 입니다.
몇가지 예제를 통해서 간단하게 함수에 대해서 알아보도록 하겠습니다.
package main
import "fmt"
func plus(a int, b int) int { // [1]
return a + b // [2]
}
func plusPlus(a, b, c int) int { // [3]
return a + b + c
}
func main() {
res := plus(1, 2) // [4]
fmt.Println("1 + 2 = ", res)
res = plusPlus(1, 2, 3)
fmt.Println("1 + 2 + 3 = ", res)
}
- 두개의 인수를 받아서
int
값 한개를 반환하는 함수를 선언 및 정의 했습니다. Go
언어에서는 명시적으로 값을 반환해야 합니다. 마지막값을 자동으로 반환하지 않습니다.- 동일한 형태의 인수를 넘겨줄때는 쉼표(
,
)를 변수를 나열한 후 마지막에 변수들의 형태를
한번만 지정해도 됩니다. - 이름을 사용해서 해당 함수를 호출하고 있습니다. 물론, 인수도 포함해서 호출합니다.
실행하면 다음과 같습니다.
$ go run functions.go
1+2 = 3
1+2+3 = 6
Go
언어의 함수에는 여러가지 기법이 존재합니다. 그중 대표적인 것은 바로 함수는
여러개의 값을 리턴할 수 있다는 것이 기존의 다른 언어와 차별된 점 중 하나 입니다.