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

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

尚
nach vorne
2020-06-17 17:27:542874Durchsuche

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

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]

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen