Heim > Backend-Entwicklung > Golang > Einführung in die Werteübergabe in der Go-Sprache

Einführung in die Werteübergabe in der Go-Sprache

Freigeben: 2020-06-17 17:27:54
nach vorne
2912 Leute haben es durchsucht

Einführung in die Werteübergabe in der Go-Sprache

Parameter in der Go-Sprache können nur als Wert übergeben werden

Wertübergabe ist ein Kopiervorgang

Go: Wertübergabe

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]
}
Nach dem Login kopieren

Javascript: Übergabe per Referenz

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]
Nach dem Login kopieren

Aber die Go-Sprache kann die Funktion der Referenzübergabe durch Zeiger realisieren

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]
}
Nach dem Login kopieren

Da gesagt wird, dass die Parameterübergabe nur in der Go-Sprache möglich ist als Wert übergeben werdenHier ist also tatsächlich eine Kopie der Zeigeradresse, und beide Adressen verweisen auf die Adresse der Variablenliste der Hauptfunktion, sodass sich der Wert der Liste ändert

Einführung in die Werteübergabe in der Go-Sprache

Weitere Informationen zu diesem Thema finden Sie in der Spalte Go Language Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in die Werteübergabe in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage