Тип результата в Go
Давайте теперь будем указывать тип результата после скобок с
параметрами. Сначала идет список параметров, затем тип того значения,
которое функция обязана вернуть командой return.
Функция func объявляет целый результат так:
package main
import "fmt"
func func(a, b int) int {
return a + b
}
func main() {
fmt.Println(func(1, 1)) // выведет 2
}
Слово int после скобок обещает, что каждый путь через функцию
закончится возвратом целого. Если вернуть строку, компилятор укажет на
несовпадение типов.
Строковый результат записывают тем же правилом, но с типом
string:
package main
import "fmt"
func func(n int) string {
return "item"
}
func main() {
fmt.Println(func(3)) // выведет 'item'
}
Напишите функцию func с параметрами w и h типа
int, которая возвращает int, произведение сторон.
Выведите результат для 3 и 4.
Дан следующий код:
func func() int {
return "x"
}
Скажите, соберется ли программа и почему.
Напишите функцию func с параметром n типа int и
результатом int, равным удвоенному n. Выведите значение
для 6.