Der Adressoperator
Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 62 von 109.
Der Adressoperator (&) ruft die Speicheradresse einer Variablen ab. So erstellen wir Zeiger in Go.
Erstellen Sie eine Variable und rufen Sie deren Speicheradresse ab:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}Die Ausgabe zeigt den Wert und seine Speicheradresse:
Value: 42
Address: 0xc000018030Die Adresse (wie 0xc000018030) ist eine Hexadezimalzahl, die den Speicherort darstellt, an dem der Wert gespeichert ist. Diese Adresse wird bei jedem Ausführen des Programms eine andere sein.
Aufgabe
Anfänger&) in Go üben. Der Address-of-Operator gibt die Speicheradresse einer Variablen zurück, also den Ort, an dem der Wert der Variablen im Speicher des Computers abgelegt ist.Deine Aufgabe ist es, den Address-of-Operator zu verwenden, um die Speicheradresse der bereitgestellten Variable abzurufen und sie in der bereits deklarierten Pointer-Variable zu speichern.
Spickzettel
Der Adressoperator (&) ermittelt die Speicheradresse einer Variablen und wird verwendet, um Pointer in Go zu erstellen.
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)Die Adresse wird als Hexadezimalzahl angezeigt (wie 0xc000018030), die den Speicherort darstellt, an dem der Wert gespeichert ist. Diese Adresse wird bei jeder Ausführung des Programms anders sein.
Probier es selbst
package main
import "fmt"
func main() {
// Dies ist unsere Beispielvariable
name := "Gopher"
// Dies deklariert eine Pointer-Variable, um die Adresse eines Strings zu speichern
var namePointer *string
// TODO: Verwende den Adressoperator (&), um die Speicheradresse von 'name' zu erhalten
// und speichere sie in der Variable 'namePointer'
// Gib den Wert aus, auf den der Pointer zeigt
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- & logische Operatoren
Vergleichsoperatoren - Teil 1Vergleichsoperatoren - Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung - Vergleiche anstellen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärtfor-Schleife - Grundlagenfor-Schleife - Nur BedingungDas `break`-SchlüsselwortDas `continue`-SchlüsselwortVerschachtelte SchleifenZusammenfassung - Aktionen wiederholen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteStringsZero ValuesKonstantenNamenskonventionenZusammenfassung - Variablen und Typen5Grundlagen der Ein- und Ausgabe
Formatierte AusgabeFormat-VerbenTypen ausgebenEinfache Benutzereingaben erhaltenZusammenfassung – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des Funktions-ScopesZusammenfassung – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorKombinierte ZuweisungsoperatorenInkrement und DekrementZusammenfassung - Berechnungen6Kontrollfluss: Bedingte Anweisungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariable Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Deklarieren von ZeigervariablenDer AdressoperatorDereferenzieren von ZeigernVerwendung von Zeigern in FunktionenNil-ZeigerZusammenfassung – Zeiger verstehen12Zusammengesetzte Typen: Maps
Einführung in MapsDeklarieren von Map-LiteralenErstellen von Maps mit `make`Hinzufügen und Aktualisieren von Key-Value-PaarenZugriff auf Map-WerteÜberprüfen der Existenz von SchlüsselnLöschen von Map-EinträgenMap-LängeIterieren über MapsZusammenfassung – Key-Value-Speicher