Возврат результата в Go
Пусть у нас есть функция, которая выводит на экран квадрат переданного числа:
package main
import "fmt"
func square(n int) {
fmt.Println(n * n)
}
func main() {
square(3) // выведет 9
}
Пусть мы хотим не выводить значение на экран, а записать его в
переменную. Для этого есть команда return. Она задает значение,
которое функция возвращает. Это значение запишется в переменную, если
ей присвоить вызов функции.
Перепишем square так, чтобы она не печатала результат, а
возвращала его. Тип результата пишут после списка параметров:
package main
import "fmt"
func square(n int) int {
return n * n
}
func main() {
res := square(3)
fmt.Println(res) // выведет 9
}
После записи в переменную данные можно изменить и затем вывести:
package main
import "fmt"
func square(n int) int {
return n * n
}
func main() {
res := square(3)
res = res + 1
fmt.Println(res) // выведет 10
}
Можно сразу выполнить действие с результатом перед записью в переменную:
package main
import "fmt"
func square(n int) int {
return n * n
}
func main() {
res := square(3) + 1
fmt.Println(res) // выведет 10
}
Функцию можно вызвать несколько раз для разных чисел:
package main
import "fmt"
func square(n int) int {
return n * n
}
func main() {
res := square(2) + square(3)
fmt.Println(res) // выведет 13
}
Можно не записывать результат в переменную, а сразу вывести его на экран:
package main
import "fmt"
func square(n int) int {
return n * n
}
func main() {
fmt.Println(square(3)) // выведет 9
}
Тот же возврат в переменную подходит для суммы двух параметров в
функции func:
package main
import "fmt"
func func(a, b int) int {
return a + b
}
func main() {
res := func(2, 3)
fmt.Println(res) // выведет 5
}
Сделайте функцию, которая параметром принимает число, а возвращает куб
этого числа. С помощью этой функции найдите куб числа 3 и
запишите его в переменную res.
С помощью созданной вами функции найдите сумму кубов числа 2 и
числа 3 и запишите ее в переменную res.
Напишите функцию func с параметрами a и b, которая
возвращает произведение. Запишите результат для 8 и 2 в
переменную res и выведите ее.
Напишите функцию func с параметром n, которая возвращает
n плюс 1. Выведите результат для 0.