Go

Book description

Ta książka, podobnie jak inne pozycje serii Rusz głową!, została przygotowana zgodnie z najnowszymi odkryciami nauk poznawczych, teorii uczenia się i neurofizjologii. Oznacza to tyle, że dzięki niej będziesz się uczyć zgodnie z zasadami pracy swojego mózgu
zaangażujesz umysł, wykorzystasz wiele zmysłów i niepostrzeżenie przyswoisz język programowania Go. Innymi słowy
w naturalny sposób zaczniesz programować! Niecodzienny wygląd i struktura książki sprawiają, że zamiast klasycznego podręcznika otrzymujesz polisensoryczne doświadczenie poznawcze, zaprojektowane tak, aby uzyskać umiejętności przydatne każdemu deweloperowi! Nawet jeśli musisz posługiwać się innymi językami programowania, dzięki tej pozycji nauczysz się technik i praktyk, które będziesz stale wykorzystywać podczas kodowania!

Table of contents

  1. Spis treści (1/4)
  2. Spis treści (2/4)
  3. Spis treści (3/4)
  4. Spis treści (4/4)
  5. Wprowadzenie
    1. Dla kogo jest przeznaczona ta książka?
    2. Wiemy, co sobie myślisz
    3. Wiemy, co sobie myśli Twój mózg
    4. Metapoznanie — myślenie o myśleniu
    5. Oto co zrobiliśmy
    6. Przeczytaj to
    7. Podziękowania
  6. ROZDZIAŁ 1. Zaczynajmy. Podstawy składni
    1. Do biegu, gotowi, Go!
    2. Narzędzie Go Playground
    3. Co to wszystko znaczy?
    4. A jeśli coś się nie powiedzie?
    5. Wywoływanie funkcji
    6. Funkcja Println
    7. Używanie funkcji z innych pakietów
    8. Wartości zwracane przez funkcje
    9. Szablon programu w Go
    10. Łańcuchy znaków
    11. Runy
    12. Wartości logiczne
    13. Liczby
    14. Operacje matematyczne i porównania
    15. Typy
    16. Deklarowanie zmiennych
    17. Wartości zerowe
    18. Krótkie deklaracje zmiennych
    19. Reguły tworzenia nazw
    20. Konwersje
    21. Instalowanie Go na komputerze
    22. Kompilowanie kodu w języku Go
    23. Narzędzia języka Go
    24. Szybkie sprawdzanie działania kodu za pomocą polecenia go run
    25. Twój przybornik do Go
  7. ROZDZIAŁ 2. Jaki kod uruchomić w następnej kolejności? Instrukcje warunkowe i pętle
    1. Wywoływanie metod
    2. Obliczanie oceny
    3. Funkcje i metody zwracające wiele wartości
    4. Rozwiązanie 1. Zignorować wartość błędu za pomocą pustego identyfikatora
    5. Rozwiązanie 2. Obsługa błędu
    6. Instrukcje warunkowe
    7. Warunkowe rejestrowanie błędu krytycznego
    8. Unikaj zakrywania nazw
    9. Przekształcanie łańcuchów znaków na liczby
    10. Bloki
    11. Bloki i zasięg zmiennych
    12. Program do wystawiania ocen jest gotowy!
    13. Tylko jedna zmienna w krótkiej deklaracji zmiennej musi być nowa
    14. Napiszmy grę
    15. Nazwy pakietów a ścieżki importowania
    16. Generowanie liczby losowej
    17. Pobieranie liczby całkowitej z klawiatury
    18. Porównywanie wytypowanej liczby z docelową
    19. Pętle
    20. Instrukcje inicjalizacji i instrukcje wykonywane po iteracji są opcjonalne
    21. Używanie pętli w grze w zgadywanie liczb
    22. Wychodzenie z pętli zgadywania liczby
    23. Ujawnianie docelowej liczby
    24. Gratulacje, gra jest kompletna!
    25. Twój przybornik do Go
  8. ROZDZIAŁ 3. Wywołaj mnie. Funkcje
    1. Powtarzający się kod
    2. Formatowanie danych wyjściowych z użyciem funkcji Printf i Sprintf
    3. Instrukcje formatowania
    4. Formatowanie długości wartości
    5. Formatowanie długości liczb ułamkowych
    6. Używanie funkcji Printf w kalkulatorze ilości farby
    7. Deklarowanie funkcji
    8. Deklarowanie parametrów funkcji
    9. Używanie funkcji w kalkulatorze ilości farby
    10. Funkcje i zasięg zmiennych
    11. Wartości zwracane przez funkcje
    12. Używanie zwracanej wartości w kalkulatorze ilości farby
    13. W funkcji paintNeeded potrzebna jest obsługa błędów
    14. Wartości błędów
    15. Deklarowanie wielu zwracanych wartości
    16. Używanie wielu zwracanych wartości w funkcji paintNeeded
    17. Zawsze obsługuj błędy!
    18. W parametrach funkcji zapisywane są kopie argumentów
    19. Wskaźniki
    20. Typy wskaźnikowe
    21. Pobieranie lub modyfikowanie wartości wskazywanej przez wskaźnik
    22. Używanie wskaźników w funkcjach
    23. Poprawianie funkcji double z użyciem wskaźników
    24. Twój przybornik do Go
  9. ROZDZIAŁ 4. Pakiety kodu. Pakiety
    1. Różne programy, ta sama funkcja
    2. Współdzielenie kodu w programach z użyciem pakietów
    3. Kod pakietów jest przechowywany w obszarze roboczym języka Go
    4. Tworzenie nowego pakietu
    5. Importowanie pakietów do programu
    6. W pakietach używany jest ten sam układ plików
    7. Konwencje tworzenia nazw pakietów
    8. Kwalifikatory w postaci nazw pakietów
    9. Przenoszenie wspólnego kodu do pakietu
    10. Stałe
    11. Zagnieżdżone katalogi pakietów i ścieżki importowania
    12. Instalowanie programów wykonywalnych za pomocą instrukcji go install
    13. Modyfikowanie obszaru roboczego za pomocą zmiennej środowiskowej GOPATH
    14. Ustawianie zmiennej GOPATH
    15. Publikowanie pakietów
    16. Pobieranie i instalowanie pakietów z użyciem polecenia go get
    17. Wczytywanie dokumentacji pakietu za pomocą polecenia go doc
    18. Dokumentowanie pakietów z użyciem komentarzy narzędzia doc
    19. Wyświetlanie dokumentacji w przeglądarce internetowej
    20. Udostępnianie dokumentacji w formacie HTML na swoje potrzeby za pomocą narzędzia godoc
    21. Serwer narzędzia godoc udostępnia też TWOJE pakiety!
    22. Twój przybornik do Go
  10. ROZDZIAŁ 5. Na liście. Tablice
    1. Tablice przechowują kolekcje wartości
    2. Wartości zerowe w tablicach
    3. Literały tablicowe
    4. Funkcje z pakietu fmt potrafią obsługiwać tablice
    5. Dostęp do elementów tablicy w pętli
    6. Sprawdzanie długości tablicy za pomocą funkcji len
    7. Bezpieczne przetwarzanie tablic w pętli za pomocą instrukcji for…range
    8. Używanie pustego identyfikatora w pętlach for…range
    9. Obliczanie sumy liczb z tablicy
    10. Pobieranie średniej liczb z tablicy
    11. Wczytywanie pliku tekstowego
    12. Wczytywanie pliku tekstowego do tablicy
    13. Modyfikowanie programu average, aby wczytywał plik tekstowy
    14. Nasz program potrafi przetwarzać tylko trzy wartości!
    15. Twój przybornik do Go
  11. ROZDZIAŁ 6. Problem dołączania elementów. Wycinki
    1. Wycinki
    2. Literały wycinków
    3. Operator wycinka
    4. Tablice podstawowe
    5. Modyfikowanie podstawowych tablic i wycinków
    6. Dodawanie elementów do wycinka za pomocą funkcji append
    7. Wycinki i wartości zerowe
    8. Wczytywanie dodatkowych wierszy plików z użyciem wycinków i funkcji append
    9. Sprawdzanie poprawionego programu
    10. Zwracanie wycinka nil po wystąpieniu błędu
    11. Argumenty wiersza poleceń
    12. Pobieranie argumentów wiersza poleceń z wycinka os.Args
    13. Operator wycinka można stosować do innych wycinków
    14. Modyfikowanie programu, aby używał argumentów wiersza poleceń
    15. Funkcje wariadyczne
    16. Stosowanie funkcji wariadycznych
    17. Użycie funkcji wariadycznej do obliczania średnich
    18. Przekazywanie wycinków do funkcji wariadycznych
    19. Wycinki uratowały sytuację!
    20. Twój przybornik do Go
  12. ROZDZIAŁ 7. Nazywanie danych. Mapy
    1. Zliczanie głosów
    2. Wczytywanie nazwisk z pliku
    3. Zliczanie nazwisk w trudny sposób, z użyciem wycinków
    4. Mapy
    5. Literały map
    6. Wartości zerowe w mapach
    7. Wartość zerowa zmiennej reprezentującej mapę to nil
    8. Jak odróżnić wartości zerowe od przypisanych?
    9. Usuwanie par klucz – wartość za pomocą funkcji delete
    10. Modyfikowanie programu zliczającego głosy, aby użyć map
    11. Używanie pętli for…range do map
    12. Pętla for...range przetwarza mapy w losowej kolejności!
    13. Modyfikowanie programu zliczającego głosy — zastosowanie pętli for...range
    14. Program do zliczania głosów jest kompletny!
    15. Twój przybornik do Go
  13. ROZDZIAŁ 8. Tworzenie struktur do przechowywania danych. Struktury
    1. Wycinki i mapy przechowują wartości JEDNEGO typu
    2. Struktury są tworzone z wartości WIELU typów
    3. Dostęp do pól struktury za pomocą operatora kropki
    4. Zapisywanie danych prenumeratorów w strukturze
    5. Typy zdefiniowane i struktury
    6. Używanie typu zdefiniowanego na dane prenumeratorów magazynu
    7. Używanie typów zdefiniowanych razem z funkcjami
    8. Modyfikowanie struktury z użyciem funkcji
    9. Dostęp do pól struktur za pomocą wskaźnika
    10. Przekazywanie dużych struktur z użyciem wskaźników
    11. Przenoszenie typu struktury do innego pakietu
    12. Nazwa zdefiniowanego typu musi zaczynać się wielką literą, aby została wyeksportowana
    13. Nazwy pól struktury muszą zaczynać się wielką literą, aby zostały wyeksportowane
    14. Literały struktur
    15. Tworzenie struktury typu Employee
    16. Tworzenie struktury typu Address
    17. Dodawanie struktury jako pola w innym typie
    18. Podawanie wartości struktury w innej strukturze
    19. Anonimowe pola struktur
    20. Zagnieżdżanie struktur
    21. Typy zdefiniowane są gotowe!
    22. Twój przybornik do Go
  14. ROZDZIAŁ 9. Jesteś w moim typie. Typy zdefiniowane
    1. Błędne typy w rzeczywistym życiu
    2. Typy zdefiniowane z prostymi typami bazowymi
    3. Typy zdefiniowane i operatory
    4. Przekształcenia między typami z użyciem funkcji
    5. Rozwiązywanie kolizji nazw funkcji z użyciem metod
    6. Definiowanie metod
    7. Parametr odbiorcy metody jest (prawie) identyczny jak inne parametry
    8. Metoda działa (prawie) jak funkcja
    9. Wskaźniki jako parametry odbiorcy metody
    10. Przeliczanie litrów i mililitrów na galony z użyciem metod
    11. Przeliczanie galonów na litry i mililitry z użyciem metod
    12. Twój przybornik do Go
  15. ROZDZIAŁ 10. Zachowaj to dla siebie. Hermetyzacja i zagnieżdżanie
    1. Tworzenie typu strukturalnego Date
    2. Użytkownicy przypisują do pól struktury Date nieprawidłowe wartości!
    3. Settery
    4. W setterze jako odbiorcę trzeba podać wskaźnik
    5. Dodawanie pozostałych setterów
    6. Dodawanie sprawdzania poprawności danych do metod
    7. Pola nadal mogą zostać ustawione na błędne wartości!
    8. Przenoszenie typu Date do innego pakietu
    9. Jak sprawić, by pola z typu Date nie były eksportowane?
    10. Dostęp do nieeksportowanych pól za pomocą eksportowanych metod
    11. Gettery
    12. Hermetyzacja
    13. Zagnieżdżanie typu Date w typie Event
    14. Nieeksportowane pola nie są promowane
    15. Eksportowane metody są promowane w taki sam sposób jak pola
    16. Hermetyzowanie pola Title z typu Event
    17. Promowane metody są dostępne w taki sam sposób jak metody typu zewnętrznego
    18. Pakiet calendar jest gotowy!
    19. Twój przybornik do Go
  16. ROZDZIAŁ 11. Co potrafisz zrobić? Interfejsy
    1. Dwa różne typy mające te same metody
    2. Parametr metody, który przyjmuje wartości tylko jednego typu
    3. Interfejsy
    4. Definiowanie typu implementującego interfejs
    5. Typy konkretne i typy interfejsowe
    6. Przypisz wartość dowolnego typu implementującego interfejs
    7. Wywoływać można tylko metody zdefiniowane w interfejsie
    8. Poprawianie funkcji playList z użyciem interfejsu
    9. Asercje typów
    10. Nieudane asercje typów
    11. Unikanie paniki po niepowodzeniu asercji
    12. Testowanie typów TapePlayer i TapeRecorder z użyciem asercji typów
    13. Interfejs error
    14. Interfejs Stringer
    15. Pusty interfejs
    16. Twój przybornik do Go
  17. ROZDZIAŁ 12. Znów stań na nogi. Przywracanie stanu po awarii
    1. Jeszcze o wczytywaniu liczb z pliku
    2. Błędy powodują, że plik nie zostanie zamknięty
    3. Odraczanie wywołań funkcji
    4. Przywracanie stanu po błędach z użyciem odroczonych wywołań funkcji
    5. Używanie odroczonych wywołań do gwarantowania zamknięcia plików
    6. Wyświetlanie plików z katalogu
    7. Wyświetlanie plików z podkatalogów (bardziej skomplikowane)
    8. Wywołania funkcji rekurencyjnych
    9. Rekurencyjne wyświetlanie zawartości katalogu
    10. Obsługa błędów w funkcji rekurencyjnej
    11. Uruchamianie procedury paniki
    12. Ślad stosu
    13. Odroczone wywołania ukończone przed awarią
    14. Stosowanie funkcji panic w funkcji scanDirectory
    15. Kiedy wywoływać panikę?
    16. Funkcja recover
    17. Funkcja recover zwraca wartość z wywołania panic
    18. Przywracanie stanu po wywołaniu funkcji panic w funkcji scanDirectory
    19. Ponowne wywołanie funkcji panic
    20. Twój przybornik do Go
  18. ROZDZIAŁ 13. Udostępnianie kodu. Wątki goroutine i kanały
    1. Pobieranie stron internetowych
    2. Wielozadaniowość
    3. Współbieżność z użyciem wątków goroutine
    4. Używanie wątków goroutine
    5. Używanie wątków goroutine w funkcji responseSize
    6. Brak bezpośredniej kontroli nad wykonywaniem wątków goroutine
    7. Instrukcji go nie można używać razem ze zwracaniem wartości
    8. Wysyłanie i przyjmowanie wartości z użyciem kanałów
    9. Synchronizowanie wątków goroutine za pomocą kanałów
    10. Obserwowanie synchronizacji wątków goroutine
    11. Zastosowanie kanałów do poprawienia programu zwracającego wielkość stron
    12. Modyfikowanie kanału, aby przesyłał strukturę
    13. Twój przybornik do Go
  19. ROZDZIAŁ 14. Kontrola jakości kodu. Testy zautomatyzowane
    1. Testy zautomatyzowane wykrywają błędy, zanim zrobi to ktoś inny
    2. Funkcja, dla której należało przygotować testy zautomatyzowane
    3. Spowodowaliśmy błąd
    4. Pisanie testów
    5. Uruchamianie testów za pomocą polecenia go test
    6. Testowanie zwracanych wartości
    7. Tworzenie szczegółowych komunikatów o niepowodzeniu testów za pomocą funkcji Errorf
    8. Funkcje pomocnicze w testach
    9. Sprawianie, by testy kończyły się powodzeniem
    10. Programowanie sterowane testami
    11. Następny błąd do naprawienia
    12. Uruchamianie określonego zbioru testów
    13. Testy sterowane tabelami
    14. Stosowanie testów do poprawiania kodu powodującego panikę
    15. Twój przybornik do Go
  20. ROZDZIAŁ 15. Reagowanie na żądania. Aplikacje internetowe
    1. Pisanie aplikacji internetowych w języku Go
    2. Przeglądarki, żądania, serwery i odpowiedzi
    3. Prosta aplikacja internetowa
    4. Twój komputer rozmawia sam ze sobą
    5. Omówienie prostej aplikacji internetowej
    6. Ścieżki do zasobów
    7. Reagowanie w inny sposób na różne ścieżki do zasobów
    8. Funkcje pierwszoklasowe
    9. Przekazywanie funkcji do innych funkcji
    10. Funkcje jako typy
    11. Co dalej?
    12. Twój przybornik do Go
  21. ROZDZIAŁ 16. Stosowanie szablonów. Szablony HTML
    1. Księga gości
    2. Funkcje do obsługi żądań i sprawdzanie błędów
    3. Tworzenie katalogu projektu i wypróbowywanie aplikacji
    4. Tworzenie listy wpisów w HTML-u
    5. Zwracanie stron HTML w aplikacji
    6. Pakiet text/template
    7. Stosowanie interfejsu io.Writer razem z metodą Execute szablonu
    8. Typy ResponseWriter i os.Stdout implementują interfejs io.Writer
    9. Wstawianie danych do szablonów z użyciem akcji
    10. Tworzenie opcjonalnych części szablonu za pomocą akcji if
    11. Powtarzanie sekcji szablonu za pomocą akcji range
    12. Wstawianie pól struktury do szablonu za pomocą akcji
    13. Wczytywanie wycinka z wpisami z pliku
    14. Struktura do przechowywania wpisów i ich liczby
    15. Modyfikowanie szablonu w celu umieszczenia w nim wpisów
    16. Umożliwianie użytkownikom dodawania danych za pomocą formularzy HTML-owych
    17. Odpowiedź z formularzem HTML-owym
    18. Żądania przesłania formularza
    19. Ścieżki i metody HTTP do przesyłania formularzy
    20. Pobieranie z żądania wartości pól formularza
    21. Zapisywanie danych z formularza
    22. Przekierowania HTTP
    23. Kompletny kod aplikacji
    24. Twój przybornik do Go
  22. DODATEK A. Zrozumieć funkcję os.OpenFile. Otwieranie plików
    1. Zrozumieć funkcję os.OpenFile
    2. Przekazywanie do funkcji os.OpenFile stałych reprezentujących opcje
    3. Notacja dwójkowa
    4. Operatory bitowe
    5. Bitowy operator I
    6. Bitowy operator LUB
    7. Stosowanie bitowego operatora LUB dla stałych z pakietu os
    8. Stosowanie bitowego operatora LUB do poprawienia opcji funkcji os.OpenFile
    9. Uniksowe uprawnienia do plików
    10. Reprezentowanie uprawnień za pomocą typu os.FileMode
    11. Notacja ósemkowa
    12. Przekształcanie wartości ósemkowych na wartości typu FileMode
    13. Objaśnienie wywołań funkcji os.OpenFile
  23. DODATEK B. Sześć kwestii, które nie zostały opisane. Pozostałości
    1. Numer 1. Inicjalizacja w instrukcji if
    2. Numer 2. Instrukcja switch
    3. Numer 3. Inne typy proste
    4. Numer 4. Jeszcze o runach
    5. Numer 5. Kanały buforowane
    6. Numer 6. Dalsza lektura

Product information

  • Title: Go
  • Author(s): Jay McGavren
  • Release date: April 2020
  • Publisher(s): Helion
  • ISBN: 9788328361522