Definiowanie własnych typów
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 94 z 109.
W Go możesz tworzyć własne typy niestandardowe na podstawie istniejących typów. Dzięki temu Twój kod jest bardziej przejrzysty i bezpieczniejszy pod względem typów.
Zdefiniuj własny typ dla temperatury w stopniach Celsjusza:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}Wynik pokazuje wartość temperatury:
Temperature: 25.5°CTypy niestandardowe zachowują się jak ich typy bazowe, ale kompilator traktuje je jako odrębne typy, co poprawia czytelność kodu i zapobiega błędom logicznym.
Wyzwanie
PoczątkującyW tym wyzwaniu przećwiczysz definiowanie własnego typu w Go. Własne typy pozwalają tworzyć własne typy danych na podstawie już istniejących.
Twoim zadaniem jest zdefiniowanie własnego typu o nazwie Temperature, opartego na typie float64, a następnie utworzenie zmiennej tego typu.
Po zdefiniowaniu typu program powinien wypisać wartość i typ zmiennej przechowującej temperaturę.
Spróbuj swoich sił
package main
import "fmt"
// TODO: Zdefiniuj własny typ o nazwie 'Temperature' oparty na float64
func main() {
// Utwórz zmienną typu Temperature o wartości 23.5
var roomTemp Temperature = 23.5
// Wypisz wartość i typ zmiennej roomTemp
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}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ń10Typy złożone: tablice
Wprowadzenie do tablicDeklarowanie tablicInicjalizacja tablicDostęp do elementów tablicyDługość tablicy za pomocą `len`Iterowanie po tablicachTablice wielowymiarowe13Typy złożone: struktury
Definiowanie własnych typówTworzenie instancji strukturDostęp do pól strukturWskaźniki do strukturInicjalizacja strukturStruktury osadzoneStruktury anonimowePodsumowanie — własne struktury danych2Zmienne 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