Operator pobrania adresu
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 62 z 109.
Operator pobrania adresu (&) pobiera adres pamięci zmiennej. W ten sposób tworzymy wskaźniki w Go.
Utwórz zmienną i pobierz jej adres w pamięci:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}Wynik pokazuje wartość i jej adres w pamięci:
Value: 42
Address: 0xc000018030Adres (np. 0xc000018030) to liczba szesnastkowa reprezentująca lokalizację w pamięci, w której przechowywana jest wartość. Ten adres będzie inny za każdym razem, gdy uruchomisz program.
Wyzwanie
Początkujący&) w Go. Operator pobrania adresu zwraca adres pamięci zmiennej, czyli miejsce, w którym wartość zmiennej jest przechowywana w pamięci komputera.Twoim zadaniem jest użyć operatora pobrania adresu, aby uzyskać adres pamięci podanej zmiennej i zapisać go w już zadeklarowanej zmiennej wskaźnikowej.
Spróbuj swoich sił
package main
import "fmt"
func main() {
// To jest nasza przykładowa zmienna
name := "Gopher"
// To deklaruje zmienną wskaźnikową do przechowywania adresu ciągu znaków
var namePointer *string
// TODO: Użyj operatora pobrania adresu (&), aby uzyskać adres pamięci zmiennej 'name'
// i zapisz go w zmiennej 'namePointer'
// Wyświetl wartość, na którą wskazuje wskaźnik
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównania – część 1Operatory porównania – część 2Logiczny operator ANDLogiczny operator ORLogiczny operator NOTPodstawy kolejności wykonywania operatorówPodsumowanie – porównywanie7Sterowanie przepływem: pętle
Jak działa pętla `for`Pętla `for` — podstawyPętla `for` — tylko warunekSłowo kluczowe `break`Słowo kluczowe `continue`Pętle zagnieżdżonePodsumowanie — powtarzanie działań2Zmienne i podstawowe typy danych
Czym jest zmiennaWnioskowanie o typie za pomocą `:=`Liczby całkowite (int)Liczby zmiennoprzecinkoweWartości logiczneCiągi znakówWartości zeroweStałeKonwencje nazewnictwaPodsumowanie – zmienne i typy5Podstawowe wejście/wyjście
Formatowane wyjścieSpecyfikatory formatuWyświetlanie typówPobieranie podstawowych danych od użytkownikaPodsumowanie — wejście i wyjście8Funkcje
Zrozumienie funkcjiDeklarowanie funkcjiWywoływanie funkcjiParametry funkcjiZwracanie jednej wartościZwracanie wielu wartościNazwane wartości zwracanePodstawy zakresu funkcjiPodsumowanie — tworzenie wielokrotnego użytku kodu11Typy złożone: wycinki
Wprowadzenie do wycinkówDeklarowanie literałów wycinkówTworzenie wycinków za pomocą `make`Długość a pojemność wycinkaDostęp do elementów wycinkaDodawanie elementówWycinanie z istniejących wycinków i tablicIterowanie po wycinkachKopiowanie wycinkówPodsumowanie — listy dynamiczne3Podstawowe operatory
Operatory arytmetyczneOperator dzieleniaOperator moduloOperator przypisaniaOperatory przypisania z działaniemZwiększanie i zmniejszaniePowtórka – obliczenia6Sterowanie przepływem: instrukcje warunkowe
Instrukcja `if`Słowo kluczowe `else`Słowo kluczowe `else if`Przesłanianie zmiennych w `if`Inicjalizacja zmiennychInstrukcja `switch``switch` z wyrażeniami`switch` bez wyrażeniaSłowo kluczowe `fallthrough`Podsumowanie — podejmowanie decyzjiPoćwicz samodzielnie: Kompilator Go online