Functions

Функції|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 - є ще кілька цікавих особливостей, одна
# з них можливість повертати не одне, а кілька значень.
# Ми познайомимось з цією особливістю у наступному
# прикладі.