Inicjalizacja struktur
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 98 z 109.
Istnieje wiele sposobów inicjalizacji struktur w Go. Przyjrzyjmy się najpopularniejszym metodom.
Utwórz strukturę z nazwami pól:
type Person struct {
name string
age int
}
func main() {
// Zainicjalizuj, podając nazwy pól
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}Wynik pokazuje naszą zainicjalizowaną strukturę:
{Alice 30}Możesz także zainicjalizować strukturę bez nazw pól, ale musisz podać wartości w odpowiedniej kolejności:
person2 := Person{"Bob", 25}
fmt.Println(person2)Wynik:
{Bob 25}Utwórz pustą strukturę z wartościami zerowymi:
person3 := Person{}
fmt.Println(person3)Wynik:
{ 0}Wyzwanie
PoczątkującyW tym wyzwaniu poćwiczysz inicjalizowanie struktury w Go. Zdefiniowaliśmy strukturę Person z polami określającymi imię, wiek oraz to, czy dana osoba jest zatrudniona.
Twoim zadaniem jest zainicjalizowanie nowej instancji struktury Person z następującymi informacjami:
- Imię: "Alice"
- Wiek: 28
- IsEmployed: true
Następnie wypiszemy informacje o tej osobie.
Spróbuj swoich sił
package main
import "fmt"
// Definicja struktury Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Zainicjalizuj strukturę Person z imieniem "Alice", wiekiem 28 i wartością isEmployed true
// Użyj nazw pól lub składni literału struktury
var alice Person
// Wypisz informacje o osobie
fmt.Printf("Name: %s\n", alice.Name)
fmt.Printf("Age: %d\n", alice.Age)
fmt.Printf("Employed: %t\n", alice.IsEmployed)
}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