Go в примерах: Функции (Functions)

Функции это сердце языка Go. Мы посмотрим использование функций на нескольих примерах.

package main
import "fmt"

Эта функция принимает в качестве аргументов два целых числа и возвращает их сумму, так же с типом целое число.

func plus(a int, b int) int {

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

    return a + b
}

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

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

Вызов функции осуществялется через запись функция(аргументы).

    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. Одной из них является возможнсоть возврата нескольких значений, которые мы рассмотрим далее.

Следующий пример: Функции с множественным возвратом (Multiple Return Values).