Heim > Artikel > Backend-Entwicklung > 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
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!