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

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

王林
王林original
2024-03-28 14:45:02695parcourir

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 函数名(参数列表) 返回值类型 {
    // 函数体
}

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!")
    }

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

greet()

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
    }
  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]
    }
  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]
    }

三、匿名函数和闭包
在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
    }
  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
    }

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

package main

import "fmt"

func main() {
 defer fmt.Println("World!")
 fmt.Print("Hello, ")
}

  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")
    }

    Fonction copy : utilisée pour copier des tranches
  2. rrreee
  3. 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.

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!

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