Maison >développement back-end >Golang >Compétences en matière d'application de tableau de pointeurs de fonction Golang et de pointeurs de tableau
Avec le développement continu du langage Golang, les tableaux de pointeurs de fonctions et les pointeurs de tableau sont également devenus une partie importante de la programmation Golang. Dans cet article, nous discuterons des compétences d'application des tableaux de pointeurs et des pointeurs de tableau dans les fonctions Golang, et vous fournirons des exemples de codes pratiques et des explications associées.
Concepts de base du tableau de pointeurs Golang
Tout d'abord, comprenons d'abord le tableau de pointeurs Golang. Un tableau de pointeurs est un type de données qui est un tableau composé de plusieurs pointeurs pointant vers différentes variables ou objets. Vous pouvez utiliser le code suivant pour déclarer un tableau de pointeurs :
var ptrArr [4]*int
Ce code déclarera un tableau de pointeurs de longueur 4, où chaque élément est un pointeur vers un type int. Bien sûr, vous pouvez également définir la longueur du tableau sur la valeur de votre choix.
Dans Golang, nous pouvons ajouter des éléments à un tableau de pointeurs de la manière suivante :
var p1 = new(int) var p2 = new(int) var p3 = new(int) var p4 = new(int) ptrArr := [4]*int{p1, p2, p3, p4}
Une variable de pointeur créée via la nouvelle fonction allouera une adresse mémoire et renverra un pointeur vers cette adresse. Par conséquent, le code ci-dessus ajoutera quatre éléments au tableau de pointeurs, chaque élément pointant vers une variable de type int.
Applications des tableaux de pointeurs
Les tableaux de pointeurs sont très utiles dans la programmation Golang et peuvent être utilisés dans de nombreuses situations différentes. Voici quelques cas d'utilisation pratiques :
Supposons que vous deviez définir plusieurs variables sur la même valeur, vous pouvez utiliser un tableau de pointeurs pour atteindre cet objectif. . Le code suivant montre comment utiliser un tableau de pointeurs pour définir plusieurs variables de type int :
var a, b, c, d int ptrArr := [4]*int{&a, &b, &c, &d} for _, p := range ptrArr{ *p = 8 } fmt.Println(a, b, c, d) //将会输出 "8 8 8 8"
Dans cet exemple, nous déclarons d'abord quatre variables de type int, puis créons un tableau de pointeurs dans lequel chaque élément pointe vers ce pointeur. à quatre variables. Ensuite, nous utilisons une boucle for pour parcourir ce tableau de pointeurs et définir la valeur pointée par chaque pointeur sur 8.
La différence par rapport à l'exemple précédent est que dans cet exemple, nous devons définir deux variables de types différents sur la même valeur. Le code suivant montre comment utiliser un tableau de pointeurs pour définir une variable de type string et une variable de type int :
var i int var j string ptrArr := [2]interface{}{&i, &j} for _, p := range ptrArr{ switch t := p.(type) { case *int: *t = 5 case *string: *t = "Golang" } } fmt.Println(i, j) //将会输出 "5 Golang"
Dans cet exemple, nous utilisons un tableau de pointeurs de longueur 2, dont l'un pointe vers une variable de type int Pointeur, l'autre est un pointeur vers une variable de type chaîne. Nous parcourons ce tableau de pointeurs via une boucle for et une instruction switch, et définissons la valeur pointée par chaque pointeur sur la valeur correspondante.
Concepts de base des pointeurs de tableau Golang
Ensuite, apprenons les pointeurs de tableau Golang. Un pointeur de tableau est un pointeur vers un tableau. Vous pouvez déclarer un pointeur de tableau avec le code suivant :
var arrPtr *[4]int
Dans cet exemple, nous déclarons un pointeur vers un tableau de type int. Ce pointeur peut être utilisé pour manipuler l'ensemble du tableau.
Utilisation des pointeurs de tableau
Dans la programmation Golang, les pointeurs de tableau peuvent être utilisés pour de nombreuses tâches différentes. Voici quelques exemples d'utilisation de pointeurs de tableau :
Dans Golang, les tableaux et les tranches sont tous deux des types valeur, ce qui signifie que lorsque vous passez un tableau à une fonction, la fonction Une copie du tableau sera créé. Si vous souhaitez modifier le tableau passé à la fonction, vous devez utiliser un pointeur de tableau. Le code suivant montre comment passer un tableau à une fonction à l'aide d'un pointeur de tableau :
func modifyArray(arr *[4]int) { arr[0] = 5 arr[2] = 7 } var arr [4]int arrPtr := &arr modifyArray(arrPtr) fmt.Println(arr) //将会输出 "[5 0 7 0]"
Dans cet exemple, nous déclarons d'abord un tableau et un pointeur de tableau. Ensuite, nous passons le pointeur de tableau à une fonction appelée modifierArray, qui modifie le tableau qui lui est transmis. Dans la fonction modifierArray, nous pouvons accéder au tableau en dehors de la fonction via le pointeur de tableau et le modifier.
Dans certains scénarios, les pointeurs de tableau peuvent remplacer les tableaux pour atteindre le même objectif. Le code suivant montre comment utiliser des pointeurs de tableau pour manipuler des tableaux :
arrPtr := new([4]int) for i := 0; i < 4; i++ { arrPtr[i] = i + 1 } for _, v := range arrPtr { fmt.Println(v) //将会输出 "1 2 3 4" }
Dans cet exemple, nous utilisons la nouvelle fonction pour allouer un nouveau tableau et le pointer vers un pointeur de tableau. Nous pouvons accéder à chaque élément du tableau via ce pointeur, tout comme accéder à un tableau ordinaire.
Conclusion
Dans cet article, nous avons exploré en profondeur le tableau de pointeurs des fonctions Golang et les compétences d'application des pointeurs de tableau, et vous avons également fourni quelques exemples de codes pratiques et des explications associées.
Les tableaux de pointeurs et les pointeurs de tableau sont des outils très importants dans la programmation Golang et ils peuvent être utilisés dans de nombreux scénarios différents. Tant que vous comprendrez leurs concepts de base et leurs méthodes d'utilisation, vous serez plus à l'aise avec la programmation Golang.
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!