Go functions can return results through the return statement, and the return result type is determined by the last parameter list in the function signature. Methods for processing returned results include: No return result: No processing required. Single return value: assigned to a variable using the assignment operator. Multiple return values: Use multiple variables to receive, in the same order as the function signature. Named field return value: Use the named field to return the structure and specify the field name to obtain the value.
In the Go language, a function can return one or more results through the return
statement value. The type of result returned is determined by the last parameter list in the function signature.
There are several methods to handle the return result of the function:
func greet() { fmt.Println("Hello, world!") }
The above function does not return a result, so there is no need to process it.
func getGreeting() string { return "Hello, world!" } // 使用方式 greeting := getGreeting() fmt.Println(greeting) // 输出: Hello, world!
For a single return value, you can use the assignment operator to assign it to a variable.
func getGreetingAndCount() (string, int) { return "Hello, world!", 1 } // 使用方式 greeting, count := getGreetingAndCount() fmt.Println(greeting, count) // 输出: Hello, world! 1
For multiple return values, multiple variables can be used to receive them. The values are in the same order as they appear in the function signature.
You can return a structure by using a named field:
type Person struct { Name string Age int } func getPerson() Person { return Person{Name: "John", Age: 30} } // 使用方式 person := getPerson() fmt.Println(person.Name, person.Age) // 输出: John 30
When using a named field to return a structure, you can specify the field name to obtain it. corresponding value.
Command line parameter processing
package main import ( "fmt" "os" ) func main() { args := os.Args if len(args) == 1 { fmt.Println("用法: myprogram name age") return } name := args[1] age, err := strconv.Atoi(args[2]) if err != nil { fmt.Println("年龄必须是数字") return } fmt.Printf("欢迎使用 myprogram, %s (%d 岁)\n", name, age) }
In this example, the main
function passes os. Args
slice takes command line arguments and uses multiple variables to process them. If there are missing or malformed arguments, use the return
statement to exit the program.
The above is the detailed content of How Golang functions handle return results. For more information, please follow other related articles on the PHP Chinese website!