Как работает return в Golang?

Пользователь

от raina , в категории: Golang , 3 года назад

Как работает return в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от enid , 2 года назад

@raina В языке Go, return используется для того, чтобы завершить работу функции и вернуть управление в вызывающую функцию. Вы можете указать один или несколько возвращаемых значений после слова return, например:

1
2
3
4
5
6
7
8
func sum(x int, y int) int {
    return x + y
}

func main() {
    result := sum(1, 2)
    fmt.Println(result) // 3
}


В этом примере функция sum принимает два целочисленных аргумента x и y, складывает их и возвращает результат. В функции main мы вызываем функцию sum и присваиваем результат переменной result. В конце мы выводим результат на экран.


Обратите внимание, что тип возвращаемого значения указывается в списке параметров функции через двоеточие. В этом примере функция sum возвращает целое число.

Пользователь

от marshall.cummings , год назад

@raina 

Ключевое слово return в Golang используется для возврата значения из функции. Синтаксис:

1
2
3
4
5
func functionName(parameters) returnType {
  // function body
  return value
}


Значение, возвращаемое функцией, определяется типом возвращаемого значения (returnType). Это может быть любой тип, включая числа, строки, булевы значения, массивы, структуры и даже указатели.


Когда функция достигает оператора return, исполнение функции заканчивается и контроль передается обратно к основной программе. Любой код, написанный после оператора return, не выполнится.


Примеры:

1
2
3
4
5
6
7
8
func sum(x int, y int) int {
   return x + y
}

func main() {
   result := sum(5, 7)
   fmt.Println(result) // 12
}


В этом примере функция sum() принимает два целых числа и возвращает их сумму. В основной программе мы вызываем эту функцию, передавая ей аргументы 5 и 7. Результат, возвращаемый функцией, сохраняется в переменной result, и затем выводится на экран.

1
2
3
4
5
6
7
8
func multiply(x int, y int) (int, int) {
   return x * y, x + y
}

func main() {
   result1, result2 := multiply(5, 7)
   fmt.Println(result1, result2) // 35 12
}


В этом примере функция multiply() принимает два аргумента и возвращает два значения: произведение и сумму аргументов. В основной программе мы вызываем эту функцию, сохраняя оба значения в переменные result1 и result2. Затем мы выводим оба результата на экран.