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

