Wskaźniki są przydatne, ponieważ pozwalają nam przechowywać pamięć adresu, w którym dane przechowywane przez zmienną są przechowywane. Korzystając z wskaźników, określamy wartość przechowywaną przez zmienną pod tym adresem pamięci.
W tym artykule przyjaznym dla początkujących omówimy, jak zacząć od wskazówek w języku programowania Go.
Golang deklaruje zmienną
Oświadczamy wskaźnik tak samo, jak deklarujemy normalną zmienną. Używamy jednak operatora dereferencji, aby pokazać, że zmienna utrzymuje wskaźnik.
Przed ogłoszeniem zmiennej istnieją dwóch operatorów, z którymi musimy się zapoznać:
Poniższa składnia pokazuje, jak zadeklarować zmienną wskaźnika:
var pointer_name *data_typeNa przykład poniższy kod deklaruje zmienną wskaźnika „PTR”, która zawiera adres typów INT.
var ptr *intGolang inicjuje wskaźnik
Możemy zainicjować wskaźnik, przydzielając adres pamięci zmiennej za pomocą operatora adresu, pokazanego powyżej.
Przykładem jest jak pokazano:
Pakiet MainW powyższym przykładzie zaczynamy od ogłoszenia zmiennej trzymającej wartość liczb całkowitą. Następnie tworzymy wskaźnik zawierający adres pamięci zmiennej.
Po wydrukowaniu adresu powinniśmy uzyskać przykładowe wyjście, jak pokazano:
$ idź wskaźnik run.IśćMożemy również zadeklarować zmienną i ustawić wartość później w kodzie. Przykładem jest jak pokazano:
Pakiet MainTutaj deklarujemy wskaźnik, a później ustawiamy jego wartość za pomocą operatora adresu.
Golang zero wskaźnik
Jeśli zadeklarujesz wskaźnik i nie przypisujesz wartości, wskaźnik ma wartość zerową. Na przykład:
Pakiet MainKod powyżej zwraca zero.
Typ wskaźnika
W naszym przykładzie zadeklarowaliśmy rodzaj wskaźnika. Oznacza to, że wskaźnik może przechowywać tylko pamięć podana określonego typu danych.
Jeśli spróbujesz przechowywać adres innego typu, kompilator zwraca błąd, jak pokazano w poniższym przykładzie:
Pakiet MainW powyższym przykładzie deklarujemy zmienną z typem int. Jednak przypisujemy adres typu ciągu.
Kompilator zwraca błąd jako:
.\wskaźnik.GO: 11: 6: Nie można użyć & str (type *string) jako type *int inssessAby tego uniknąć, możesz użyć dosłownej metody deklaracji wskaźnika. Na przykład możemy zrobić:
Pakiet MainPowyższy przykład umożliwia kompilatorowi określenie typu adresu do utrzymania w określonym wskaźniku.
Dereference Golang Wskaźnik
Aby uzyskać dostęp do wartości przechowywanej na określonym adresie, możemy użyć operatora dereferencji. Przykładowy kod jest taki jak pokazano:
Pakiet MainPowyższy kod korzysta z operatora dereferencyjnego, aby uzyskać wartość przechowywaną pod adresem posiadanym przez wskaźnik „PTR”
Powstałe wyjście to:
X: 100Wniosek
Ten przewodnik przechodzi przez podstawy pracy z wskaźnikami w Go. Korzystając z wskazówek, możesz uzyskać dostęp i przechowywać adres pamięci zmiennej. Możesz także użyć wskaźnika, aby uzyskać dostęp do zmiennej przechowywanej pod określonym adresem pamięci.
Dziękuje za przeczytanie!