Les fonctions Go peuvent renvoyer plusieurs valeurs, notamment en utilisant des valeurs de retour nommées, des tuples, des structures et la gestion des erreurs. Les valeurs de retour nommées permettent de donner un nom à chaque valeur de retour pour un accès et une manipulation faciles. Les tuples et les structures peuvent être utilisés pour stocker et organiser les valeurs de retour, mais nécessitent une extraction et une conversion manuelles des valeurs. Le mécanisme de gestion des erreurs fournit un moyen concis de gérer l'état d'exécution des fonctions et de renvoyer des messages d'erreur.
Le langage Go permet aux fonctions de renvoyer plusieurs valeurs, ce qui offre une grande flexibilité, mais des considérations supplémentaires sont nécessaires lors de la gestion de ces valeurs de retour. Cet article présentera quelques techniques pour vous aider à gérer efficacement la valeur de retour de la fonction Go.
L'utilisation de valeurs de retour nommées est un moyen courant de gérer plusieurs valeurs de retour. En donnant un nom à chaque valeur de retour, vous pouvez facilement y accéder et les manipuler.
func GetUserInfo(id int) (name string, age int, err error) { // Implement the function } func main() { name, age, err := GetUserInfo(1) if err != nil { // Handle the error } fmt.Printf("Name: %s, Age: %d\n", name, age) }
Un tuple en langage Go est une structure de données non typée qui peut être utilisée pour stocker n'importe quel nombre de valeurs. Vous pouvez utiliser des tuples pour gérer les valeurs de retour des fonctions, mais vous devrez extraire et convertir manuellement les valeurs.
func GetUserInfo(id int) (string, int, error) { // Implement the function } func main() { userInfo := GetUserInfo(1) name := userInfo[0] age := userInfo[1] fmt.Printf("Name: %s, Age: %d\n", name, age) }
Une structure est un type de données composite qui regroupe des champs liés. Vous pouvez utiliser des structures pour organiser et encapsuler les valeurs de retour des fonctions.
type UserInfo struct { Name string Age int } func GetUserInfo(id int) (UserInfo, error) { // Implement the function } func main() { userInfo, err := GetUserInfo(1) if err != nil { // Handle the error } fmt.Printf("Name: %s, Age: %d\n", userInfo.Name, userInfo.Age) }
Le mécanisme de gestion des erreurs du langage Go fournit une manière concise de gérer les erreurs. Vous pouvez utiliser le type err
pour indiquer l'état d'exécution d'une fonction et transmettre un message d'erreur au retour. err
型別來指示函數的執行狀態,並在返回時傳遞錯誤訊息。
func GetUserInfo(id int) (string, int, error) { // Implement the function } func main() { name, age, err := GetUserInfo(1) if err != nil { // Handle the error return } fmt.Printf("Name: %s, Age: %d\n", name, age) }
以下是一个使用命名返回值处理函数返回值的实战例子:
func CalculateTax(salary int) (tax float64, netSalary float64) { taxRate := 0.2 // Assume a tax rate of 20% tax = salary * taxRate netSalary = salary - tax return } func main() { salary := 1000 tax, netSalary := CalculateTax(salary) fmt.Printf("Salary: %d, Tax: %f, Net Salary: %f\n", salary, tax, netSalary) }
在这个例子中,CalculateTax
函数返回两个命名值:tax
和 netSalary
。在 main
rrreee
CalculateTax
renvoie deux valeurs nommées : impôts et <code>netSalary
. Dans la fonction main
, nous recevons et traitons ces valeurs en utilisant des valeurs de retour nommées. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!