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

Compétences en matière d'application de tableau de pointeurs de fonction Golang et de pointeurs de tableau

WBOY
WBOYoriginal
2023-05-16 16:00:151836parcourir

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 :

  1. Utilisez un tableau de pointeurs pour attribuer des valeurs à plusieurs variables

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.

  1. Utilisez un tableau de pointeurs pour attribuer des valeurs à des variables de types différents

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 :

  1. Passer des tableaux à des fonctions en tant que pointeurs

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.

  1. Utilisez des pointeurs de tableau pour remplacer des tableaux

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!

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
Article précédent:casting golangArticle suivant:casting golang