НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Golang. Уроки для початківців

En

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
Спробуйте самі »