Go Повернення функції
Повернуті значення
Якщо ви хочете, щоб функція повертала значення, вам потрібно визначити тип даних, що повертається (наприклад, int
, string
тощо), а також використовуйте ключове слово return
у функції:
Синтаксис
func FunctionName(param1 type, param2 type) type {
// код для виконання
return output
}
Приклад повернення функції
Приклад
Тут myFunction()
отримує два цілих числа (x
та y
) та повертає їх додавання (x + y
) як ціле число (int
):
package main
import ("fmt")
func myFunction(x int, y int) int {
return x + y
}
func main() {
fmt.Println(myFunction(1, 2))
}
Результат:
3
Іменування значень, що повертаються
У Go ви можете називати значення, що повертаються функцією.
Приклад
Тут ми називаємо значення, що повертається, як result
(типу int
) і повертаємо значення з голим return (означає, що ми використовуємо інструкцію return
без вказівки назви змінної):
package main
import ("fmt")
func myFunction(x int, y int) (result int) {
result = x + y
return
}
func main() {
fmt.Println(myFunction(1, 2))
}
Результат:
3
Наведений вище приклад також можна записати так. Тут інструкція return визначає ім’я змінної:
Приклад
package main
import ("fmt")
func myFunction(x int, y int) (result int) {
result = x + y
return result
}
func main() {
fmt.Println(myFunction(1, 2))
}
Зберігайте значення, що повертається, у змінній
Ви також можете зберегти повернене значення у змінній, наприклад:
Приклад
Тут ми зберігаємо повернуте значення у змінній, яка називається total
:
package main
import ("fmt")
func myFunction(x int, y int) (result int) {
result = x + y
return
}
func main() {
total := myFunction(1, 2)
fmt.Println(total)
}
Спробуйте самі »
Кілька повернених значень
Функції Go також можуть повертати кілька значень.
Приклад
Тут myFunction()
повертає одне ціле число (result
) і один рядок (txt1
):
package main
import ("fmt")
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
fmt.Println(myFunction(5, "Hello"))
}
Результат:
10 Hello World!
Приклад
Тут ми зберігаємо два повернених значення у двох змінних (a
та b
):
package main
import ("fmt")
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
a, b := myFunction(5, "Hello")
fmt.Println(a, b)
}
Результат:
10 Hello World!
Якщо ми (з якихось причин) не хочемо використовувати деякі з повернених значень, ми можемо додати підкреслення (_
), щоб пропустити це значення.
Приклад
Тут ми хочемо опустити перше повернуте значення (result
, яке зберігається в змінній a
):
package main
import ("fmt")
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
_, b := myFunction(5, "Hello")
fmt.Println(b)
}
Результат:
Hello World!
Приклад
Тут ми хочемо опустити друге повернуте значення (txt1
, яке зберігається в змінній b
):
package main
import ("fmt")
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
a, _ := myFunction(5, "Hello")
fmt.Println(a)
}
Результат:
10