English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grundtutorials

Golang Steuerrichtlinien

Golang Funktion & Methode

Golang Struktur

Golang Schnittmenge & Array

Golang Zeichenkette (String)

Golang Zeiger

Golang Schnittstelle

Golang Parallelität

Golang Fehler (Error)

Andere Themen von Golang

Go-Sprache Zeiger als Funktionsparameter

Go-ProgrammierspracheDer Zeiger in der Variable ist eine Variable, die zur Speicherung der Speicheradresse einer anderen Variable verwendet wird. Sie können auch wieVariablewie den Zeiger an die Funktion übergeben. Es gibt zwei Methoden, um die folgenden Operationen auszuführen:

  • Einen Zeiger erstellen und ihn an die Funktion übergeben

  • Den Speicheradresse der Variable übergeben

einen Zeiger erstellen und ihn an die Funktion übergeben

Im folgenden Programm verwenden wir die Funktionptf,diese Funktion hat einen Zeigerparameter vom Typ Integer, der bedeutet, dass die Funktion nur Zeigerparameter akzeptiert. Gleichzeitig ändert diese Funktion die VariablexIn der Anfangszeit,xDer Wert enthält100. Aber nach dem Funktion aufruf wird der Wert geändert zu748,wie die Ausgabe zeigt.

// Das Go-Programm erstellt einen Zeiger
//und ihn an die Funktion übergeben
package main
import \
//Zeiger als Parameter akzeptieren
func ptf(a *int) {
    //Verweis
    *a = 748
}
func main() {
    //Normaler Variable
    var x = 100
    fmt.Printf("Der Wert von x vor dem Funktion aufruf ist: \t%d\n", x)
    //Einen Zeigervariable erhalten
    //und Adresse zuweisen
    var pa *int = &x
    //Funktion auf diese Weise aufrufen
    //Zeiger an die Funktion übergeben
    ptf(pa)
    fmt.Printf("Der Wert von x nach der Funktion aufruf ist: \t%d\n", x)
}

Ausgabe:

Der Wert von x vor dem Funktion aufruf ist: 100
Der Wert von x nach der Funktion aufruf ist: 748

Adresse der Variable an die Funktion übergeben

Beachten Sie das folgende Programm, wir haben keinen Zeiger erstellt, um die Variable zu speichernxdie Adresse, d.h. den Zeiger in dem obigen Programmpa。Wir geben direktxDie Adresse wird an die Funktion übergeben, der Aufruf der Funktion ähnelt dem obigen Verfahren.

package main
import \
// int-Typ Zeiger als Parameter
func ptf(a *int) {
    *a = 748
}
func main() {
    var x = 100
    fmt.Printf("Der Wert von x vor dem Funktion aufruf ist: \t%d\n", x)
    //durch Aufruf der Funktion
    //Adresse übergeben
    //Variable x
    ptf(&x)
    fmt.Printf("Der Wert von x nach der Funktion aufruf ist: \t%d\n", x)
}

Ausgabe:

Der Wert von x vor dem Funktion aufruf ist: 100
Der Wert von x nach der Funktion aufruf ist: 748

Beachten Sie:Sie können auch den kurzen Deklarationsoperator (:=) verwenden, um in dem obigen Programm Variablen und Zeiger zu deklarieren.