Функциите са в сърцето на Go. Тук ще научим какво са с няколко примера.
import "fmt"
Ето една функция, която приема две цели числа от вида
int и връща сбора им отново като int.
func plus(a int, b int) int {
В Го е задължително изрично да върнем обявената за връщане стойност. Сиреч, последният израз във функцията няма да бъде върнат автоматично.
return a + b
}
Когато имате множество последователни податки1 от един и същи вид, може да пропуснете името на вида и да го обявите само след послената податка от същия вид.
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
Функциите имат още няколко свойства. Едно от тях е възможността за връщане на множество стойности, която ще разгледаме в следващия пример.
Следващ пример: Връщане на повече стойности.