Ikona aplikacji Nauka Go

Nauka Go

Edukacja · Bezpłatne · iOS & Android · CoddyKit

Nauka Go — Samouczek Golang z kompilatorem, detektorem wyścigów i codziennymi zadaniami kata na telefonie

Nauka Go to bezpłatny samouczek Golang na iOS i Androida dla początkujących oraz pracujących programistów. Oferuje kompilator Go i edytor uruchamiający kod na prawdziwym toolchainie Go (wymagane jest połączenie z internetem). Sprawdzaj kod za pomocą gofmt, go vet i detektora wyścigów oraz przejdź przez 51 kursów — od pierwszego fmt.Println po goroutines, REST APIs i gRPC — z pomocą AI Mentora w momentach, które nie są od razu jasne.

App Store — Pobierz bezpłatnieGoogle Play — Pobierz bezpłatnie
Cena
Bezpłatna, uaktualnienie do Pro
Platformy
iOS i Android
Języki
22
Klasyfikacja wiekowa
4+
Wymaga
iOS 15.1 lub nowszy
Ekran główny ścieżki nauki Go z przyciskiem Rozpocznij pierwszą lekcję, pierścieniem dziennego celu i kartą zgłaszania propozycji funkcjiPrzegląd kursu Go Kickoff Concepts and Setup z paskiem postępu, bezpłatną grupą pierwszej lekcji i przyciskiem Zmień kurs
51Kursów, od A1 do C1
-raceLaboratorium współbieżności z detektorem wyścigów
CodziennieNowe zadanie kata każdego dnia
Usuń słowo kluczowe go i zobacz, jak wykonanie tej samej pracy trwa trzy razy dłużej.

To pierwsze zadanie, które aplikacja daje Ci w Go: uruchom trzy zadania trwające po 120 ms, zobacz, że ich łączny czas jest wyraźnie krótszy niż 360 ms, a następnie usuń jedno słowo kluczowe, dzięki któremu działały współbieżnie. Cała obietnica tego języka sprowadza się do tego jednego słowa, a aplikacja pozwala Ci poczuć jego działanie, zanim je wyjaśni.

Co to jest

Nauka Go to bezpłatna aplikacja na iOS i Androida do nauki Go — kompilowanego języka, który stoi za dużą częścią współczesnych usług chmurowych i serwerowych. Zawiera 51 kursów i 203 lekcje o poziomie od początkującego do zaawansowanego, edytor kodu uruchamiający programy na prawdziwym toolchainie Go, codzienne zadanie kata, Laboratorium współbieżności z prawdziwym detektorem wyścigów oraz ścieżkę z przewodnikiem, w której tworzysz własny rdzeń HTTP. AI Mentor odpowiada na pytania dotyczące dowolnej lekcji.

W aplikacji

Jak to wygląda

Ekran główny ścieżki nauki Go z przyciskiem Rozpocznij pierwszą lekcję, pierścieniem dziennego celu i kartą zgłaszania propozycji funkcji
Ścieżka naukiEkran główny otwiera się na ścieżce nauki z przyciskiem rozpoczęcia, dziennym celem i linkiem do Skill Hub
Przegląd kursu Go Kickoff Concepts and Setup z paskiem postępu, bezpłatną grupą pierwszej lekcji i przyciskiem Zmień kurs
Przegląd kursuPierwszy kurs, Go Kickoff: Concepts & Setup, jest oznaczony jako bezpłatny i składa się z trzech krótkich lekcji.
Edytor kodu wyświetlający program Go z package main, import fmt i wywołaniami fmt.Println obok lekcji o pierwszym programie
Edytor koduLekcja zatytułowana Twój pierwszy program z otwartym edytorem kodu w pliku package main i przyciskiem uruchamiania.
Ekran czatu AI z sugerowanymi poleceniami: wyjaśnij kluczowe pojęcia, udziel wskazówek, przepytaj mnie i utwórz plan nauki
Mentor AICztery sugerowane polecenia rozpoczynają czat: wyjaśnij kluczowe pojęcia, udziel wskazówek, przepytaj mnie lub utwórz plan nauki.
Ekran główny w jasnym motywie ze ścieżką nauki, dziennym celem i Skill Hub
Ekran głównyTen sam ekran główny w jasnym motywie, z dziennym celem i Skill Hub poniżej aktywnego kursu.

Kurs

Zakres kursu Go

51 kursów i 203 lekcje z własnej listy kursów aplikacji, sklasyfikowane na poziomach od A1 do C1 i obejmujące materiał od pierwszego programu po profilowanie i garbage collector.

  1. Wprowadzenie do Go i podstawy

    Czym jest Go i dlaczego Google je stworzyło, a następnie zmienne, typy i wartości zerowe, stałe oraz sterowanie przepływem za pomocą if, for i switch.

  2. Funkcje, Slices i Maps

    Funkcje z wieloma wartościami zwracanymi, defer i parametry variadic, tablice, slices i maps, a także strings, formatowanie fmt i pakiet time.

  3. Structs, Pointers i Interfaces

    Structs i metody, odbiorniki wartościowe a wskaźnikowe, pointers, niejawne interfaces i duck typing oraz embedding do tworzenia kompozycji.

  4. Błędy, Packages i biblioteka standardowa

    Jawne obsługiwanie błędów za pomocą errors.Is i errors.As, packages i modules, operacje wejścia-wyjścia na plikach i JSON, wyrażenia regularne, sortowanie oraz buforowane wejście-wyjście.

  5. Goroutines, Channels i Sync

    Podstawy goroutine i channel, select i wzorce channel, mutexes i pakiet sync, context do anulowania oraz pule workerów i pipelines.

  6. HTTP, REST i bazy danych

    Serwery i klienci HTTP z net/http, REST APIs z Gin, wzorce middleware, database/sql z sqlx i pgx, GORM oraz WebSockets.

  7. Testowanie, narzędzia i wdrażanie

    Testy table-driven i podtesty, aplikacje wiersza poleceń z Cobra, konfiguracja z Viper, strukturalne logowanie z slog oraz wieloetapowe kompilacje Docker.

  8. Zaawansowane Go

    Generics z parametrami typów i constraints, benchmarking i profilowanie pprof, gRPC z Protocol Buffers, reflection oraz model pamięci.

Jak to działa

Jak działa sesja

Każda lekcja to krótki tekst, po którym uruchamiasz kod, dzięki czemu teoria i praktyka odbywają się podczas tego samego posiedzenia.

  1. Przeczytaj jedną krótką lekcję

    Otwórz kurs i poświęć kilka minut na pojedynczą lekcję, zawierającą teorię napisaną prostym językiem oraz mały przykład, taki jak program package main i fmt.Println z pierwszej lekcji.

  2. Uruchom kod na prawdziwym toolchainie Go

    Edytor wysyła Twój program do runnera Go i wyświetla wynik. gofmt, go vet i detektor wyścigów działają w ten sam sposób, więc aplikacja potrzebuje połączenia, gdy naciskasz przycisk uruchamiania, a program, który ulega awarii, wyświetla zrozumiałe wyjaśnienie błędu.

  3. Przećwicz temat z innej perspektywy

    Po zakończeniu tematu rozwiąż quiz, wykonaj codzienne zadanie kata, przejdź przez zagadkę dotyczącą współbieżności albo poproś AI Mentora, aby Cię przepytał. Każde z tych ćwiczeń przedstawia tę samą ideę z innej strony — właśnie dlatego zostaje ona w pamięci.

Co zawiera

Co zawiera aplikacja

51

Kursów, od A1 do C1

203 lekcje w 51 kursach — od podstaw Go, slices i maps po interfaces, obsługę błędów, goroutines, net/http, Gin, dostęp do baz danych, wdrażanie za pomocą Docker, gRPC i garbage collector.

-race

Laboratorium współbieżności z detektorem wyścigów

Sześć uruchamialnych zagadek obejmuje dwie goroutines korzystające z jednego kanału, uzgadnianie za pomocą kanału bez bufora, rozdzielanie pracy przez WaitGroup, licznik tracący aktualizacje, mapę z dwoma zapisującymi ją procesami oraz deadlock. Możesz także uruchamiać własny kod z detektorem wyścigów — bezpłatnie i bez dziennego limitu.

Codziennie

Nowe zadanie kata każdego dnia

Ćwiczenie w Go sprawdzane na podstawie tabeli przypadków, w tym przypadków ukrytych, wraz z wyjaśnieniem rozwiązania na końcu. Codzienne zadanie kata jest bezpłatne dla wszystkich; Pro odblokowuje pełną bibliotekę, rozwiązania referencyjne i wyjaśnienia.

Doktor

Go Doctor

Sprawdź, czy gofmt przepisałby Twój plik, i zastosuj te zmiany, uruchom go vet, aby znaleźć problemy, a w wersji Pro zapytaj analizę ucieczki kompilatora, dlaczego dana wartość jest alokowana. Formatowanie jest nielimitowane, a go vet jest ograniczone do trzech uruchomień dziennie w bezpłatnym planie.

7 kroków

Zbuduj własny rdzeń HTTP

Ścieżka z przewodnikiem, w której samodzielnie napiszesz żądanie, odpowiedź, handlery jako funkcje, routing, parametry ścieżki, middleware oraz JSON z opakowanymi błędami — krok po kroku, a każdy etap zostanie sprawdzony.

AI

AI Mentor i rozmowa rekrutacyjna

Poproś AI Mentora o wyjaśnienie pojęcia, przygotowanie planu nauki lub przeprowadzenie quizu. Rozmowa rekrutacyjna składa się z pięciu pytań dotyczących Go na poziomie junior, mid lub senior i ocenia Twoje odpowiedzi; jedna oceniana rozmowa tygodniowo jest bezpłatna.

Powtórka

Go Recall i Go by Example

Krótkie karty „co to wypisze?” dotyczące klasycznych pułapek, takich jak kolejność defer, mapy nil i współdzielenie pamięci przez append, a także uruchamialne fragmenty biblioteki standardowej, które możesz uruchamiać i edytować.

Wprowadzenie

Dlaczego warto uczyć się Go do pracy backendowej i co go wyróżnia?

Go to statycznie typowany, kompilowany język stworzony w Google, szeroko wykorzystywany do tworzenia usług internetowych, narzędzi wiersza poleceń i infrastruktury chmurowej. Jego zaletą w pracy backendowej jest duża liczba funkcji dostępnych od ręki: współbieżność jest częścią języka, biblioteka standardowa obejmuje większość elementów potrzebnych małej usłudze, a program kompiluje się do pojedynczego pliku binarnego, bez konieczności instalowania czegokolwiek poza nim. Język został celowo zaprojektowany jako niewielki, dzięki czemu szybko się go czyta, ale początkujący muszą wcześnie przyswoić kilka nieznanych wcześniej nawyków.

Goroutines i kanaływspółbieżność bez zarządzania wątkami

Goroutine to funkcja uruchomiona za pomocą słowa kluczowego go, a kanał to potok, przez który goroutines przekazują wartości. Razem zastępują większość ręcznie pisanego zarządzania wątkami, dlatego współbieżność jest nauczana od początku, zamiast pozostawać tematem zaawansowanym.

Błędy są wartościamibrak wyjątków

Funkcja Go, która może zakończyć się niepowodzeniem, zwraca błąd jako zwykłą drugą wartość, a wywołujący sprawdza go od razu. Wymaga to więcej pisania niż blok try, ale sprawia, że każda ścieżka błędu jest widoczna w czytanym kodzie.

Interfejsy niejawneduck typing sprawdzany podczas kompilacji

Typ spełnia wymagania interfejsu tylko dzięki posiadaniu odpowiednich metod — niczego nie trzeba deklarować. Ułatwia to luźne łączenie pakietów, ale właśnie tutaj kryje się też klasyczna niespodzianka w Go: interfejs przechowujący wskaźnik nil sam nie jest nil.

Jeden plik binarny i rozbudowana biblioteka standardowadlaczego wdrażanie jest proste

Skompilowany Go tworzy pojedynczy plik wykonywalny, a pakiety takie jak net/http, encoding/json i database/sql są dostarczane razem z językiem. Mała usługa często nie potrzebuje zewnętrznego frameworka, co jest jednym z powodów, dla których obrazy Docker dla programów Go mogą być niewielkie.

Dopasowanie

Dla kogo jest — i dla kogo nie jest

To dobry wybór, jeśli

  • Szukasz kursu Golang, który możesz realizować w krótkich sesjach na telefonie
  • Znasz już inny język i chcesz zobaczyć goroutines i channels w działaniu
  • Planujesz pracę na stanowisku backendowym lub cloudowym i chcesz rozwiązywać pytania rekrutacyjne z Go z oceną odpowiedzi
  • Lepiej uczysz się na podstawie małych ćwiczeń i kart z pułapkami niż długich filmów
  • Chcesz sprawdzać formatowanie, wyniki go vet i wyścigi danych w napisanym przez siebie kodzie

To nie jest odpowiednie narzędzie, jeśli

  • Potrzebujesz uruchamiać programy importujące net/http lub używające generics w uruchamiaczu w aplikacji, który jest środowiskiem Go 1.13
  • Chcesz uruchamiać kod bez połączenia, ponieważ uruchamiacz działa online
  • Oczekujesz, że wszystko będzie bezpłatne: pierwszy kurs, codzienna kata i dzienny limit AI Mentor są bezpłatne, a Pro odblokowuje resztę
  • Musisz zbudować i wdrożyć dużą usługę składającą się z wielu packages, do czego nadal potrzebujesz laptopa i pełnego toolchaina

Pytania

Najczęściej zadawane pytania

Jaki jest najlepszy sposób na naukę Golang na telefonie?

Krótkie lekcje połączone z rzeczywistym uruchamianiem kodu są skuteczniejsze niż samo czytanie, a Go szczególnie wynagradza uruchamianie programów, ponieważ jego najważniejsze funkcje — goroutines i race detector — mają charakter behawioralny. Nauka Go łączy kilkuminutowe lekcje z edytorem, codzienną katą i Concurrency Lab. Możesz bezpłatnie rozpocząć naukę na iOS i Android, korzystając z 51 kursów uporządkowanych od poziomu początkującego do zaawansowanego.

Czy można kompilować i uruchamiać kod Go na telefonie?

Tak, po nawiązaniu połączenia. Nauka Go wysyła program do uruchamiacza Go i wyświetla dane wyjściowe, a ten sam uruchamiacz udostępnia gofmt, go vet i race detector. Kod nie jest wykonywany bezpośrednio na telefonie, więc podczas naciskania przycisku uruchamiania musisz mieć połączenie z internetem. Uruchamiacz ma też ograniczenia, takie jak niewielki limit pamięci i maksymalny rozmiar pliku binarnego.

Czy uruchamiacz w aplikacji obsługuje generics?

Obecnie nie. Uruchamiacz w Nauka Go korzysta z Go 1.13, a generics pojawiły się w Go 1.18, dlatego program używający parametrów typów lub słowa kluczowego any nie skompiluje się w tym środowisku. Gdy tak się stanie, aplikacja wyjaśnia to prostym językiem i sugeruje starszą formę. Sam kurs generics nadal można czytać jako lekcję.

Czym jest race detector w Go i jak aplikacja go wykorzystuje?

Race detector zgłasza sytuacje, w których dwie goroutines uzyskują dostęp do tej samej pamięci bez użycia blokady, czyli błąd występujący tylko w niektórych przypadkach. W Nauka Go Concurrency Lab uruchamia pod jego kontrolą zadania, takie jak licznik aktualizowany przez 200 goroutines, i pozwala dodać mutex oraz uruchomić program ponownie. Możesz też wkleić własny kod goroutine i uruchomić go z użyciem race detector.

Czym jest kata w Go?

Kata to małe, skoncentrowane ćwiczenie rozwiązywane za pomocą kodu, na przykład poprawne odwrócenie stringa zawierającego znaki spoza ASCII albo opakowanie błędu tak, aby errors.Is nadal go znajdowało. Nauka Go udostępnia codziennie nową katę, sprawdza funkcję na podstawie tabeli przypadków obejmującej także ukryte przypadki i później wyjaśnia dane rozwiązanie. Codzienna kata jest bezpłatna dla wszystkich.

Czy do rozpoczęcia nauki potrzebuję doświadczenia w programowaniu?

Nie. Nauka Go zaczyna od wyjaśnienia, czym jest Go i dlaczego powstało, a następnie omawia zmienne, typy i sterowanie przepływem. Każde pojęcie jest wyjaśniane prostym językiem, zanim przećwiczysz je w praktyce. Doświadczenie z innym językiem pomoże Ci szybciej przejść przez początkowe kursy, ale pierwszy kurs jest przeznaczony dla osób zaczynających od zera.

Czy Learn Go jest bezpłatne?

Aplikację można pobrać bezpłatnie. Bezpłatny jest pierwszy kurs, codzienna kata, dzienny limit AI Mentor, nieograniczone sprawdzanie gofmt, nieograniczone uruchamianie programów z race detector oraz kilka uruchomień go vet dziennie. Pro odblokowuje wszystkie kursy, usuwa reklamy, zapewnia nielimitowany AI Mentor oraz otwiera bibliotekę kata i escape analysis.

Czy na końcu otrzymam certyfikat?

Tak. Zdanie egzaminu końcowego daje Ci certyfikat ukończenia kursu. Pokazuje on wykonaną pracę i dobrze prezentuje się obok małego projektu, o którym możesz opowiedzieć podczas rozmowy rekrutacyjnej, ale nie jest akredytowanym kwalifikacjami akademickimi.

Czy Learn Go pomaga w przygotowaniach do rozmów rekrutacyjnych z Golang?

Tak. Próbna rozmowa obejmuje pięć pytań na poziomie junior, mid lub senior — od różnic między slices a arrays po to, co interface value przechowuje w czasie działania programu — i ocenia odpowiedzi, przedstawiając informacje zwrotne. Karty Go Recall pomagają utrwalać typowe pułapki, a słabe tematy z rozmowy są dodawane do Twojej talii powtórek. Jedna oceniana rozmowa tygodniowo jest bezpłatna.

Jakie platformy i języki obsługuje?

Nauka Go działa na iOS za pośrednictwem App Store oraz na Androidzie za pośrednictwem Google Play, a interfejs jest dostępny w 22 językach. Aplikacja ma ocenę 4+, więc żadne materiały nie są objęte ograniczeniami wiekowymi.

Zacznij

Napisz swoją pierwszą goroutine już dziś

Zacznij bezpłatnie na iOS i Androidzie, w 22 językach.

App Store — Pobierz bezpłatnieGoogle Play — Pobierz bezpłatnie
Ostatnio sprawdzono · Opublikowano przez CoddyKit · Polityka prywatności
Dostępna na iOS i Android.