Maison > développement back-end > Golang > Quelles sont les fonctions couramment utilisées en langage Go ?

Quelles sont les fonctions couramment utilisées en langage Go ?

王林
Libérer: 2024-03-28 14:45:02
original
783 Les gens l'ont consulté

Quelles sont les fonctions couramment utilisées en langage Go ?

Quelles sont les fonctions couramment utilisées en langage Go ? ——Explorez les fonctions couramment utilisées et leur utilisation dans le langage Go

En tant que langage de programmation à typage statique populaire, le langage Go est largement utilisé dans divers domaines, tels que le développement côté serveur, la programmation réseau, le cloud computing, etc. Dans le langage Go, les fonctions, en tant qu'unité d'organisation de base du code, constituent une partie importante de l'exécution du programme. Cet article explorera les fonctions couramment utilisées et leur utilisation dans le langage Go pour aider les lecteurs à mieux comprendre les principales fonctionnalités de ce langage.

1. Déclaration et appel de fonction
Une fonction est déclarée en commençant par le mot-clé "func" dans le langage Go. La syntaxe est la suivante :

func 函数名(参数列表) 返回值类型 {
    // 函数体
}
Copier après la connexion

Parmi eux, la liste des paramètres et le type de valeur de retour peuvent être omis. La fonction n'a pas de valeur de retour, aucun type de valeur de retour n'est requis.

  1. Exemple : définissez une fonction simple

    func greet() {
     fmt.Println("Hello, World!")
    }
    Copier après la connexion

La fonction est appelée via le nom de la fonction. Appelez simplement le nom de la fonction directement dans le code :

greet()
Copier après la connexion

2. Fonctions intégrées couramment utilisées
Le langage Go en possède de nombreuses. Fonctions intégrées couramment utilisées, telles que "len", "append", "copy", etc. Ci-dessous, nous présentons respectivement leur utilisation.

  1. Fonction len : utilisée pour obtenir la longueur des tranches, des tableaux, des chaînes, etc. len函数:用于获取切片、数组、字符串等的长度

    package main
    
    import "fmt"
    
    func main() {
     slice := []int{1, 2, 3, 4, 5}
     fmt.Println(len(slice)) // 输出:5
    }
    Copier après la connexion
  2. append函数:用于向切片追加元素

    package main
    
    import "fmt"
    
    func main() {
     slice := []int{1, 2, 3}
     slice = append(slice, 4, 5)
     fmt.Println(slice) // 输出:[1 2 3 4 5]
    }
    Copier après la connexion
  3. copy函数:用于复制切片

    package main
    
    import "fmt"
    
    func main() {
     slice1 := []int{1, 2, 3}
     slice2 := make([]int, 3)
     copy(slice2, slice1)
     fmt.Println(slice2) // 输出:[1 2 3]
    }
    Copier après la connexion

三、匿名函数和闭包
在Go语言中,函数可以作为变量进行传递,包括匿名函数和闭包。匿名函数没有函数名,可直接在代码中定义和调用,闭包则是指定义在函数内部的函数,可以访问外部函数的变量。

  1. 示例:匿名函数

    package main
    
    import "fmt"
    
    func main() {
     add := func(a, b int) int {
         return a + b
     }
    
     result := add(3, 4)
     fmt.Println(result) // 输出:7
    }
    Copier après la connexion
  2. 示例:闭包

    package main
    
    import "fmt"
    
    func outer() func() {
     count := 0
     return func() {
         count++
         fmt.Println("Count:", count)
     }
    }
    
    func main() {
     counter := outer()
     counter() // 输出:Count: 1
     counter() // 输出:Count: 2
    }
    Copier après la connexion

四、defer和panic/recover
在Go语言中,defer用于延迟函数的执行,panic用于引发运行时恐慌,recover

package main

import "fmt"

func main() {
 defer fmt.Println("World!")
 fmt.Print("Hello, ")
}
Copier après la connexion

  1. Fonction append : utilisée pour ajouter des éléments aux tranches

    package main
    
    import "fmt"
    
    func recoverFromPanic() {
     if r := recover(); r != nil {
         fmt.Println("Recovered from panic:", r)
     }
    }
    
    func potentiallyPanic() {
     defer recoverFromPanic()
     panic("Panic!")
    }
    
    func main() {
     potentiallyPanic()
     fmt.Println("Program continues")
    }
    Copier après la connexion

    Fonction copy : utilisée pour copier des tranchesrrreee
  2. 3. Fonctions et fermetures anonymes

    En langage Go, les fonctions peuvent être transmises en tant que variables, y compris les fonctions anonymes et les fermetures. Les fonctions anonymes n'ont pas de nom de fonction et peuvent être définies et appelées directement dans le code. Les fermetures font référence aux fonctions définies à l'intérieur de la fonction et peuvent accéder aux variables des fonctions externes.

  3. Exemple : fonction anonyme

    rrreee🎜🎜🎜Exemple : fermeture🎜rrreee🎜🎜🎜4. Defer et panic/recover🎜En langage Go, defer est utilisé pour retarder l'exécution des fonctions, panic est utilisé pour provoquer une panique à l'exécution, et recover est utilisé pour capturer la panique et la traiter. Ces trois fonctionnalités fonctionnent ensemble pour garantir la stabilité du programme. 🎜🎜🎜🎜Exemple : l'utilisation de defer🎜rrreee🎜Le résultat de sortie est : "Hello, World!"🎜🎜🎜🎜Exemple : l'utilisation de panic et recovery🎜rrreee🎜Le résultat de sortie est : "Récupéré de panique : Panique !" et "Le programme continue"🎜🎜🎜🎜Grâce à l'introduction de cet article, les lecteurs peuvent avoir une compréhension plus approfondie des fonctions couramment utilisées et de leur utilisation dans le langage Go, y compris la déclaration et l'appel de fonctions, les fonctions intégrées couramment utilisées, les fonctions anonymes. fonctions et fermetures, différer et paniquer/récupérer. La maîtrise de ces connaissances aidera les lecteurs à mieux appliquer le langage Go pour le développement et à améliorer l'efficacité de la programmation. J'espère que cet article pourra être utile aux lecteurs, merci d'avoir lu ! 🎜

    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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal