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)
}
  1. 두개의 인수를 받아서 int값 한개를 반환하는 함수를 선언 및 정의 했습니다.
  2. Go언어에서는 명시적으로 값을 반환해야 합니다. 마지막값을 자동으로 반환하지 않습니다.
  3. 동일한 형태의 인수를 넘겨줄때는 쉼표(,)를 변수를 나열한 후 마지막에 변수들의 형태를
    한번만 지정해도 됩니다.
  4. 이름을 사용해서 해당 함수를 호출하고 있습니다. 물론, 인수도 포함해서 호출합니다.

실행하면 다음과 같습니다.

$ go run functions.go 
1+2 = 3
1+2+3 = 6

Go언어의 함수에는 여러가지 기법이 존재합니다. 그중 대표적인 것은 바로 함수는
여러개의 값을 리턴할 수 있다는 것이 기존의 다른 언어와 차별된 점 중 하나 입니다.