Voici les réponses aux questions courantes sur les fonctions Golang : les fonctions n'appartiennent à aucun type, tandis que les méthodes appartiennent à un type spécifique. Un pointeur de fonction est une variable qui stocke l’adresse d’une fonction et peut être utilisée comme n’importe quel autre pointeur. Les fonctions peuvent renvoyer plusieurs valeurs, renvoyées sous forme de tuples. Les fonctions peuvent déclarer des listes de paramètres de longueur variable en utilisant la syntaxe .... Les fonctions anonymes sont des fonctions sans nom utilisées pour créer des fonctions à usage unique.
Questions fréquemment posées sur les fonctions Golang
1. La différence entre les fonctions et les méthodes
Exemple de code :
// 函数 func add(a, b int) int { return a + b } // 方法 type Person struct { name string } func (p Person) greet() string { return "Hello, my name is " + p.name }
2. Pointeur de fonction
Un pointeur de fonction est une variable qui stocke l'adresse d'une fonction. Ils peuvent être utilisés comme d’autres pointeurs pour appeler des fonctions.
Exemple de code :
func add(a, b int) int { return a + b } var addFunc = add // 函数指针 func main() { result := addFunc(1, 2) // 使用函数指针调用函数 fmt.Println(result) // 输出: 3 }
3. Renvoyer plusieurs valeurs
Les fonctions peuvent utiliser l'instruction return
pour renvoyer plusieurs valeurs. La valeur de retour est renvoyée sous forme de tuple. return
语句返回多个值。返回值作为元组返回。
代码示例:
func getMinMax(nums []int) (int, int) { min := nums[0] max := nums[0] for _, num := range nums { if num < min { min = num } if num > max { max = num } } return min, max }
4. 可变参数列表
函数可以用 ...
Exemple de code :
func sum(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum } func main() { result := sum(1, 2, 3, 4, 5) // 可变参数列表 fmt.Println(result) // 输出: 15 }
4. Liste de paramètres variables
Les fonctions peuvent déclarer des listes de paramètres de longueur variable en utilisant la syntaxe...
. Exemple de code :
func main() { // 创建匿名函数 add := func(a, b int) int { return a + b } // 使用匿名函数 result := add(1, 2) fmt.Println(result) // 输出: 3 }
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!