Возврат одного значения
Часть раздела Основы путешествия по GO на Coddy — урок 55 из 109.
Функции могут возвращать значения в код, который их вызвал. Это позволяет функциям вычислять результаты и передавать их обратно.
Чтобы создать функцию, которая возвращает значение, добавьте тип возвращаемого значения после списка параметров:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}Когда вы запустите эту программу, она выведет:
4 × 5 = 20Ключевое слово return возвращает значение в то место, где была вызвана функция, и возвращаемое значение может быть сохранено в переменной.
Задание
НовичокВ этом испытании вы попрактикуетесь в создании функции, которая возвращает одно значение. Вам нужно завершить функцию getGreeting, которая возвращает приветственное сообщение в зависимости от времени суток.
Функция должна возвращать "Good morning", если час меньше 12, "Good afternoon", если час находится в диапазоне от 12 до 17 (включительно), и "Good evening" в противном случае.
Шпаргалка
Функции могут возвращать значения с помощью ключевого слова return. Укажите тип возвращаемого значения после списка параметров:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}Возвращаемое значение можно сохранить в переменной или использовать напрямую.
Попробуйте сами
package main
import "fmt"
// getGreeting возвращает приветствие в зависимости от часа дня
func getGreeting(hour int) string {
// TODO: Вернуть "Good morning", если час меньше 12
// TODO: Вернуть "Good afternoon", если час от 12 до 17 (включительно)
// TODO: Вернуть "Good evening" для всех остальных часов
// Ваш код здесь
}
func main() {
// Протестируйте функцию с разным временем
morningHour := 8
afternoonHour := 15
eveningHour := 20
fmt.Println("At", morningHour, "hours:", getGreeting(morningHour))
fmt.Println("At", afternoonHour, "hours:", getGreeting(afternoonHour))
fmt.Println("At", eveningHour, "hours:", getGreeting(eveningHour))
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений