Go на примерах: Функции

В Go функции играют центральную роль. Рассмотрим их на нескольких примерах.

package main
import "fmt"

Вот функция, которая принимает два int и возвращает их сумму в виде int.

func plus(a int, b int) int {

Go требует явного return, то есть не возвращает автоматически значение последнего выражения.

    return a + b
}

Если несколько параметров подряд имеют одинаковый тип, можно указать тип только у последнего параметра, опустив его у предыдущих.

func plusPlus(a, b, c int) int {
    return a + b + c
}
func main() {

Функция вызывается как обычно — name(args).

    res := plus(1, 2)
    fmt.Println("1+2 =", res)
    res = plusPlus(1, 2, 3)
    fmt.Println("1+2+3 =", res)
}
$ go run functions.go 
1+2 = 3
1+2+3 = 6

У функций в Go есть ещё несколько возможностей. Одна из них — множественные возвращаемые значения, которые мы рассмотрим далее.

Далее: .