Maison >développement back-end >Golang >Questions fréquemment posées sur les fonctions Golang

Questions fréquemment posées sur les fonctions Golang

PHPz
PHPzoriginal
2024-04-26 17:36:011108parcourir

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

Questions fréquemment posées sur les fonctions Golang

1. La différence entre les fonctions et les méthodes

  • Fonction : Une fonction qui n'appartient à aucun type.
  • Méthode : Fonction appartenant à un type spécifique.

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
}

🎜5. Fonction anonyme 🎜🎜🎜La fonction anonyme est une fonction sans nom. Il est généralement utilisé pour créer des fonctions à usage unique. 🎜🎜🎜Exemple de code : 🎜🎜rrreee

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn