Wskaźniki nil
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 65 z 109.
Wskaźnik nil to wskaźnik, który na nic nie wskazuje. Jest to wartość zerowa dla typów wskaźnikowych.
Zadeklaruj wskaźnik nil:
var ptr *int
fmt.Println(ptr)
fmt.Println(ptr == nil)Wynik pokazuje, że wskaźnik ma wartość nil:
<nil>
truePróba wyłuskania wskaźnika nil powoduje panikę:
var ptr *int
// To spowoduje awarię twojego programu
// fmt.Println(*ptr)Zawsze sprawdzaj, czy wskaźnik ma wartość nil, zanim go wyłuskasz:
if ptr != nil {
fmt.Println(*ptr)
}Wyzwanie
PoczątkującyW tym wyzwaniu będziesz pracować ze wskaźnikami nil w Go. Wskaźnik nil to wskaźnik, który nie wskazuje żadnego adresu pamięci.
Twoim zadaniem jest sprawdzić, czy wskaźnik ma wartość nil, i wyświetlić odpowiedni komunikat.
W kodzie znajduje się już zmienna wskaźnikowa ustawiona na nil. Musisz dodać kod, który sprawdzi, czy wskaźnik ma wartość nil, i wyświetli odpowiedni komunikat.
Spróbuj swoich sił
package main
import "fmt"
func main() {
// To wskaźnik nil na liczbę całkowitą
var ptr *int
// TODO: Sprawdź, czy ptr ma wartość nil
// Jeśli ma wartość nil, wypisz "The pointer is nil"
// Jeśli nie ma wartości nil, wypisz "The pointer is not nil"
fmt.Println("Program completed")
}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