Multiple Return Values
Similar to passing multiple arguments into a function, we can also retrieve multiple data values from the function.
The syntax for defining a function with multiple return values is as follows:
func myFunc(param_1 int, ...) (datatype_1, datatype_2, ...) {
return expression_1, expression_2, ...
}
Below is an example of a function that returns two distinct values:
index.go
12345678910111213141516171819202122package main import "fmt" func getGroup(n int) string { if (n % 2 == 0) { return "Even" } else { return "Odd" } } func evaluateNumber(n int) (int, string) { var square int = n*n var group string = getGroup(n) return square, group } func main() { fmt.Println(evaluateNumber(5)) // Outputs: 25 Odd }
The returned values can be stored using the following syntax:
index.go
1234// Syntax: var variable_1, variable_2, ... = myFunc(...) var val_1, val_2 = evaluateNumber(5) fmt.Println("Square:", val_1) fmt.Println("Group:", val_2)
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Can you show an example of how to store multiple returned values from a function?
What are some common use cases for returning multiple values from a function?
Can you explain how to handle errors when returning multiple values?
Awesome!
Completion rate improved to 1.96
Multiple Return Values
Swipe to show menu
Similar to passing multiple arguments into a function, we can also retrieve multiple data values from the function.
The syntax for defining a function with multiple return values is as follows:
func myFunc(param_1 int, ...) (datatype_1, datatype_2, ...) {
return expression_1, expression_2, ...
}
Below is an example of a function that returns two distinct values:
index.go
12345678910111213141516171819202122package main import "fmt" func getGroup(n int) string { if (n % 2 == 0) { return "Even" } else { return "Odd" } } func evaluateNumber(n int) (int, string) { var square int = n*n var group string = getGroup(n) return square, group } func main() { fmt.Println(evaluateNumber(5)) // Outputs: 25 Odd }
The returned values can be stored using the following syntax:
index.go
1234// Syntax: var variable_1, variable_2, ... = myFunc(...) var val_1, val_2 = evaluateNumber(5) fmt.Println("Square:", val_1) fmt.Println("Group:", val_2)
Thanks for your feedback!