Jezyk_Go_Poznaj_i_programuj_jgopop.pdf

(2645 KB) Pobierz
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Przedmowa ................................................................................................ 9
Pochodzenie języka Go ....................................................................................................................10
Projekt Go ..........................................................................................................................................11
Struktura książki ...............................................................................................................................13
Gdzie można znaleźć więcej informacji .........................................................................................14
Podziękowania ..................................................................................................................................15
Rozdzia 1. Przewodnik ............................................................................. 17
1.1. Witaj, świecie ..............................................................................................................................17
1.2. Argumenty wiersza poleceń .....................................................................................................19
1.3. Wyszukiwanie zduplikowanych linii ......................................................................................23
1.4. Animowane GIF-y .....................................................................................................................28
1.5. Pobieranie zawartości adresu URL .........................................................................................30
1.6. Pobieranie zawartości kilku adresów URL równolegle ........................................................32
1.7. Serwer WWW ............................................................................................................................33
1.8. Kilka pominiętych kwestii ........................................................................................................37
Rozdzia 2. Struktura programu ................................................................ 41
2.1. Nazwy ..........................................................................................................................................41
2.2. Deklaracje ...................................................................................................................................42
2.3. Zmienne ......................................................................................................................................43
2.4. Przypisania .................................................................................................................................50
2.5. Deklaracje typów .......................................................................................................................52
2.6. Pakiety i pliki ..............................................................................................................................54
2.7. Zakres ..........................................................................................................................................58
Kup książkę
Poleć książkę
6
S
PIS TRE
CI
Rozdzia 3. Podstawowe typy danych ........................................................ 63
3.1. Liczby całkowite .........................................................................................................................63
3.2. Liczby zmiennoprzecinkowe ....................................................................................................68
3.3. Liczby zespolone ........................................................................................................................72
3.4. Wartości logiczne ......................................................................................................................75
3.5. Łańcuchy znaków ......................................................................................................................75
3.6. Stałe ..............................................................................................................................................86
Rozdzia 4. Typy z o one ........................................................................... 91
4.1. Tablice .........................................................................................................................................91
4.2. Wycinki .......................................................................................................................................94
4.3. Mapy ......................................................................................................................................... 102
4.4. Struktury .................................................................................................................................. 108
4.5. JSON ......................................................................................................................................... 114
4.6. Szablony tekstowe i HTML ................................................................................................... 120
Rozdzia 5. Funkcje ................................................................................ 125
5.1. Deklaracje funkcji ................................................................................................................... 125
5.2. Rekurencja ............................................................................................................................... 127
5.3. Zwracanie wielu wartości ...................................................................................................... 130
5.4. Błędy ......................................................................................................................................... 132
5.5. Wartości funkcji ...................................................................................................................... 137
5.6. Funkcje anonimowe ............................................................................................................... 139
5.7. Funkcje o zmiennej liczbie argumentów ............................................................................. 146
5.8. Odroczone wywołania funkcji .............................................................................................. 147
5.9. Procedura panic ...................................................................................................................... 152
5.10. Odzyskiwanie sprawności ................................................................................................... 154
Rozdzia 6. Metody ................................................................................ 157
6.1. Deklaracje metod .................................................................................................................... 157
6.2. Metody z odbiornikiem wskaźnikowym ............................................................................. 159
6.3. Komponowanie typów poprzez osadzanie struktur .......................................................... 162
6.4. Wartości i wyrażenia metod .................................................................................................. 165
6.5. Przykład: typ wektora bitowego ........................................................................................... 166
6.6. Hermetyzacja ........................................................................................................................... 169
Rozdzia 7. Interfejsy .............................................................................. 173
7.1. Interfejsy jako kontrakty ........................................................................................................ 173
7.2. Typy interfejsowe ................................................................................................................... 176
Kup książkę
Poleć książkę
S
PIS TRE
CI
7
7.3. Spełnianie warunków interfejsu ........................................................................................... 177
7.4. Parsowanie flag za pomocą interfejsu flag.Value ............................................................... 180
7.5. Wartości interfejsów .............................................................................................................. 182
7.6. Sortowanie za pomocą interfejsu sort.Interface ................................................................. 187
7.7. Interfejs http.Handler ............................................................................................................ 191
7.8. Interfejs error .......................................................................................................................... 196
7.9. Przykład: ewaluator wyrażeń ................................................................................................ 197
7.10. Asercje typów ........................................................................................................................ 203
7.11. Rozróżnianie błędów za pomocą asercji typów ................................................................ 205
7.12. Kwerendowanie zachowań za pomocą interfejsowych asercji typów ........................... 207
7.13. Przełączniki typów ............................................................................................................... 209
7.14. Przykład: dekodowanie XML oparte na tokenach ........................................................... 211
7.15. Kilka porad ............................................................................................................................ 214
Rozdzia 8. Funkcje goroutine i kana y .................................................... 215
8.1. Funkcje goroutine ................................................................................................................... 215
8.2. Przykład: współbieżny serwer zegara ................................................................................... 217
8.3. Przykład: współbieżny serwer echo ...................................................................................... 220
8.4. Kanały ....................................................................................................................................... 222
8.5. Zapętlenie równoległe ............................................................................................................ 231
8.6. Przykład: współbieżny robot internetowy ........................................................................... 235
8.7. Multipleksowanie za pomocą instrukcji select ................................................................... 239
8.8. Przykład: współbieżna trawersacja katalogów .................................................................... 242
8.9. Anulowanie ............................................................................................................................. 246
8.10. Przykład: serwer czatu ......................................................................................................... 248
Rozdzia 9. Wspó bie no
ze wspó dzieleniem zmiennych ....................... 253
9.1. Sytuacje wyścigu ..................................................................................................................... 253
9.2. Wzajemne wykluczanie: sync.mutex ................................................................................... 258
9.3. Muteksy odczytu/zapisu: sync.RWMutex ........................................................................... 261
9.4. Synchronizacja pamięci ......................................................................................................... 262
9.5. Leniwe inicjowanie: sync.Once ............................................................................................. 264
9.6. Detektor wyścigów ................................................................................................................. 266
9.7. Przykład: współbieżna nieblokująca pamięć podręczna ................................................... 267
9.8. Funkcje goroutine i wątki ...................................................................................................... 274
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin