Maison > développement back-end > Golang > Introduction à la transmission de valeurs en langage Go

Introduction à la transmission de valeurs en langage Go

Libérer: 2020-06-17 17:27:54
avant
2912 Les gens l'ont consulté

Introduction à la transmission de valeurs en langage Go

Les paramètres en langage Go ne peuvent être transmis que par valeur

Le passage de valeur est un processus de copie

Go : passage de valeur

func bbb(list [4]int){
   for i,_ := range list{
      list[i] = 0
   }
}
func main(){
   list := [4]int{1,2,3,4}
   bbb(list)
   fmt.Println(list )   //[1 2 3 4]
}
Copier après la connexion

Javascript : Passer par référence

let list = [1,2,3,4]
function  bbb(list){
    list.forEach((item,index)=>{
        list[index] = 0
    })
}
bbb(list)
console.log(list)   //[0,0,0,0]
Copier après la connexion

Mais le langage Go peut réaliser la fonction de référence passant par des pointeurs

func bbb(p2 *[4]int){    //接受一个[4]int的指针
   for i,_ := range p2{
      p2[i] = 0
   }
}
func main(){
   list := [4]int{1,2,3,4}
   p := &list
   bbb(p)     //传递指针
   fmt.Println(list )   //[0 0 0 0]
}
Copier après la connexion

Puisqu'il est dit que le passage de paramètres dans le langage go ne peut que être passé par valeur, voici donc en fait une copie de l'adresse du pointeur, et les deux adresses pointent vers l'adresse de la liste de variables de la fonction principale, donc la valeur de la liste change

Introduction à la transmission de valeurs en langage Go

Pour plus de connaissances connexes, veuillez prêter attention à la colonne tutoriel de langue go

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:segmentfault.com
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