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

Work in Progress / Сайт в процесі розробки

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

package main
import "fmt"

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

func plus(a int, b int) int {

Go потребує чітко вказувати що повертається, самостійно воно не поверне значення останнбого виразу.

    return a + b
}

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

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() {

Як ви і очікували викликаємо функцію name(args).

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

У функцій Go є ще кілька особливостей, одна з них можливість повертати кілька значень, з нею ми познайомимось в наступному прикладі.

Наступний приклад: Поверненння Кількох Значень (Multiple Return Values).