Функция описывает один шаг
Функция — именованный кусок программы, который можно вызвать из другого места. В объявлении func ticketTotal(prices ...int) int имя ticketTotal задаёт действие, prices ...int принимает любое число целых цен, а последний int означает, что функция вернёт целое число. Вызов ticketTotal(1200, 900, 900) передаёт три входных значения.
У dailyBudget два входа и два результата: дневной лимит и остаток от деления. В main переменные слева от := принимают возвращённые значения. main — специальная функция, с которой начинается запуск программы; выведите результаты через fmt.Println и посмотрите их в терминале командой go run main.go.
package main
import "fmt"
func ticketTotal(prices ...int) int {
total := 0
for _, price := range prices {
total += price
}
return total
}
func dailyBudget(budget, days int) (int, int) {
return budget / days, budget % days
}
func main() {
total := ticketTotal(1200, 900, 900)
daily, remainder := dailyBudget(10000, 3)
fmt.Println("билеты:", total, "в день:", daily, "остаток:", remainder)
}
Сигнатура функции — контракт: в ней видны входы и выходы. Короткие функции легче проверить и повторно использовать. Несколько результатов удобны, когда операция естественно даёт пару связанных значений.