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.
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