Go за Прикладом: Функції (Functions)

Функції - це базова складова мови Go. Ми будемо знайомитись з ними за допомогою кількох різних прикладів.

package main
import "fmt"

Ось функція, що приймає два цілих числа (int) та повертає їх суму (також, як ціле число int). Go потребує чітко вказувати тип що повертається.

func plus(a int, b int) int {
    return a + b
}

За виключенням, коли ми вказуємо можемо додатково вказати зміну для повернення, (зверніть увагу на приклад з змінною summa).

func plusNames(a int, b int) (summa int) {
    summa = a + b
    return
}

Коли у вас кілька послідовних параметрів одного типу, дозволяється пропускати тип - вказуючи його лише для останнього аргументу.

func plusPlus(a, b, c int) int {
    return a + b + c
}
func main() {
    res := plus(1, 2)
    fmt.Println("1+2 =", res)
    res = plusNames(1, 3)
    fmt.Println("1+3 =", 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).