Belajar Go
Belajar Go — Tutorial Golang dengan compiler, race detector dan kata harian pada telefon anda
Belajar Go ialah tutorial Golang percuma untuk iOS dan Android, sesuai untuk pemula serta developer yang sedang bekerja. Ia dilengkapi compiler dan editor Go yang menjalankan kod anda pada Go toolchain sebenar (sambungan internet diperlukan). Semak kod dengan gofmt, go vet dan race detector, serta ikuti 51 kursus daripada fmt.Println pertama anda hingga goroutine, REST API dan gRPC, dengan AI Mentor untuk bahagian yang sukar difahami.
- Harga
- Percuma, naik taraf Pro
- Platform
- iOS dan Android
- Bahasa
- 22
- Penarafan umur
- 4+
- Memerlukan
- iOS 15.1 atau lebih baharu


Padam kata kunci go dan lihat kerja yang sama mengambil masa tiga kali lebih lama.
Itulah perkara pertama yang aplikasi ini suruh anda lakukan dengan Go: jalankan tiga tugasan selama 120 ms setiap satu, lihat jumlah masanya jauh kurang daripada 360 ms, kemudian buang satu kata kunci yang menjadikannya serentak. Inti pati bahasa ini terletak pada satu perkataan itu, dan aplikasi ini membolehkan anda merasainya sebelum menerangkannya.
Apakah aplikasi ini
Belajar Go ialah aplikasi iOS dan Android percuma untuk mempelajari Go, bahasa compiled yang menjadi asas kepada sebahagian besar perisian cloud dan server masa kini. Aplikasi ini mempunyai 51 kursus dan 203 lesson dengan tahap daripada beginner hingga advanced, code editor yang menjalankan program pada Go toolchain sebenar, kata harian, Concurrency Lab dengan race detector sebenar, serta track berpandu untuk membina HTTP core anda sendiri. AI Mentor menjawab soalan tentang mana-mana lesson.
Dalam aplikasi
Rupa aplikasi ini





Kursus
Kandungan kursus Go
51 kursus dan 203 pelajaran daripada senarai kursus kendiri aplikasi, berperingkat dari A1 hingga C1 dan merangkumi topik daripada program pertama hingga profiling dan garbage collector.
Pengenalan kepada Go dan Asasnya
Apa itu Go dan sebab Google menciptanya, diikuti pemboleh ubah, jenis dan zero values, pemalar, serta aliran kawalan dengan if, for dan switch.
Fungsi, Slices dan Maps
Fungsi dengan berbilang nilai pulangan, defer dan parameter variadic, arrays, slices dan maps, serta strings, pemformatan fmt dan pakej time.
Structs, Pointers dan Interfaces
Structs dan methods, value receiver berbanding pointer receiver, pointers, interfaces tersirat dan duck typing, serta embedding untuk komposisi.
Errors, Packages dan Standard Library
Pengendalian error secara eksplisit dengan errors.Is dan errors.As, packages dan modules, file I/O dan JSON, ungkapan biasa, sorting dan buffered I/O.
Goroutines, Channels dan Sync
Asas goroutine dan channel, corak select dan channel, mutex dan pakej sync, context untuk pembatalan, serta worker pools dan pipelines.
HTTP, REST dan Databases
Pelayan dan klien HTTP dengan net/http, REST APIs dengan Gin, corak middleware, database/sql dengan sqlx dan pgx, GORM serta WebSockets.
Testing, Tooling dan Deployment
Ujian berasaskan table dan subtests, aplikasi baris perintah dengan Cobra, konfigurasi dengan Viper, structured logging dengan slog dan multi-stage Docker builds.
Go Lanjutan
Generics dengan type parameters dan constraints, benchmarking dan profiling pprof, gRPC dengan Protocol Buffers, reflection, serta memory model.
Cara ia berfungsi
Cara satu sesi berjalan
Setiap lesson ialah bacaan ringkas yang diikuti dengan kod untuk anda jalankan, jadi idea dan latihan berlaku dalam sesi yang sama.
Baca satu lesson ringkas
Buka satu kursus dan ikuti satu lesson selama beberapa minit, dengan teori dalam bahasa yang mudah serta contoh kecil, seperti program package main dan fmt.Println dalam lesson pertama.
Jalankannya pada Go toolchain sebenar
Editor menghantar program anda kepada Go runner dan memaparkan outputnya. gofmt, go vet dan race detector berjalan dengan cara yang sama, jadi aplikasi memerlukan sambungan apabila anda menekan run, dan program yang crash akan memaparkan penjelasan error dalam bahasa yang mudah difahami.
Berlatih dari sudut yang lain
Selepas mempelajari sesuatu topik, jawab quiz, selesaikan kata harian, ikuti puzzle concurrency langkah demi langkah atau minta AI Mentor menguji anda. Setiap satu melihat idea yang sama dari sudut berbeza, dan itulah yang membantu anda mengingatinya.
Kandungan
Kandungan dalam aplikasi
51
Kursus, A1 hingga C1
203 lesson merentasi 51 kursus, daripada asas Go, slice dan map hingga interface, error handling, goroutine, net/http, Gin, akses database, Docker deployment, gRPC dan garbage collector.
-race
Concurrency Lab dengan race detector
Enam puzzle yang boleh dijalankan merangkumi dua goroutine pada satu channel, handshake tanpa buffer, fan-out WaitGroup, counter yang kehilangan update, map dengan dua writer dan deadlock. Anda juga boleh menjalankan kod sendiri menggunakan race detector, secara percuma dan tanpa had harian.
Harian
Kata baharu setiap hari
Latihan Go yang disemak berdasarkan table kes, termasuk kes tersembunyi, dengan penjelasan rujukan selepas itu. Kata harian percuma untuk semua orang; Pro membuka library penuh, solution rujukan dan penjelasannya.
Doktor
Go Doctor
Semak sama ada gofmt akan menulis semula file anda dan gunakannya, jalankan go vet untuk mendapatkan penemuannya, dan dengan Pro, tanya escape analysis compiler mengapa sesuatu value diperuntukkan. Pemformatan adalah tanpa had, manakala go vet dihadkan kepada tiga kali sehari untuk pelan percuma.
7 langkah
Bina HTTP core anda sendiri
Track berpandu yang membolehkan anda menulis request, response, handler sebagai function, routing, path parameter, middleware dan JSON dengan wrapped error sendiri, satu langkah yang disemak pada setiap masa.
AI
AI Mentor dan mock interview
Minta AI Mentor menerangkan konsep, memberikan roadmap atau menguji anda. Mock interview mengemukakan lima soalan Go pada tahap junior, mid atau senior dan memberikan markah untuk jawapan anda, dengan satu interview yang dinilai setiap minggu secara percuma.
Ingatan
Go Recall dan Go by Example
Kad ringkas “apakah outputnya?” tentang gotcha klasik, seperti susunan defer, map nil dan perkongsian memory oleh append, serta snippet standard-library yang boleh dijalankan dan diedit.
Latar belakang
Mengapa belajar Go untuk kerja backend, dan apakah kelainannya?
Go ialah bahasa statically typed dan compiled yang dicipta di Google, serta digunakan secara meluas untuk web service, command-line tool dan cloud infrastructure. Tarikannya untuk kerja backend ialah banyak perkara sudah tersedia: concurrency merupakan sebahagian daripada bahasa ini, standard library merangkumi kebanyakan keperluan small service, dan program boleh di-compile menjadi satu binary tanpa perlu memasang apa-apa bersamanya. Bahasa ini sengaja direka bentuk ringkas, menjadikannya cepat dibaca tetapi memberikan beberapa tabiat yang asing untuk dipelajari oleh beginner sejak awal.
Goroutine dan channelconcurrency tanpa perlu mengurus thread
Goroutine ialah function yang dimulakan dengan kata kunci go, manakala channel ialah paip yang digunakan oleh goroutine untuk menghantar nilai. Bersama-sama, kedua-duanya menggantikan kebanyakan pengendalian thread secara manual, sebab itulah concurrency diajar sejak awal dan bukan dibiarkan sebagai topik advanced.
Error ialah valuetiada exception
Function Go yang boleh gagal mengembalikan error sebagai value kedua biasa, dan caller menyemaknya serta-merta. Ia memerlukan lebih banyak taip berbanding try block, tetapi bermakna setiap laluan kegagalan dapat dilihat dalam kod yang sedang anda baca.
Interface implisitduck typing, diperiksa semasa compile time
Sesuatu type memenuhi interface hanya dengan mempunyai method yang betul; tiada apa-apa yang perlu diisytiharkan. Ini memastikan package tidak terlalu bergantung antara satu sama lain, dan di sinilah satu kejutan klasik Go berlaku: interface yang menyimpan nil pointer itu sendiri bukan nil.
Satu binary dan standard library yang besarmengapa deployment mudah
Go yang di-compile menghasilkan satu executable, manakala package seperti net/http, encoding/json dan database/sql disertakan bersama bahasa ini. Small service selalunya tidak memerlukan third-party framework, dan itulah salah satu sebab Docker image untuk program Go boleh bersaiz kecil.
Sesuai
Untuk siapa — dan bukan untuk siapa
Sesuai untuk anda jika anda
- Mahukan kursus Golang yang boleh diikuti dalam sesi pendek melalui telefon
- Sudah menulis dalam bahasa lain dan mahu melihat goroutines serta channels berjalan sendiri
- Menyasarkan peranan backend atau cloud dan mahukan soalan temu duga Go dengan maklum balas bermarkah
- Belajar dengan lebih baik melalui latihan kecil dan kad gotcha berbanding video panjang
- Mahu menyemak formatting, penemuan vet dan data races pada kod yang anda tulis sendiri
Bukan alat yang sesuai jika anda
- Perlu menjalankan program yang mengimport net/http atau menggunakan generics dalam runner dalam aplikasi, yang merupakan sandbox Go 1.13
- Mahu menjalankan kod tanpa sambungan, kerana runner memerlukan talian dalam talian
- Menjangkakan semuanya percuma: kursus pertama, kata harian dan peruntukan harian AI Mentor adalah percuma, manakala Pro membuka akses kepada selebihnya
- Perlu membina dan menghantar service besar yang terdiri daripada banyak packages, yang masih memerlukan laptop dan toolchain penuh
Soalan
Soalan lazim
Apakah cara terbaik untuk belajar Golang melalui telefon?
Pelajaran pendek bersama kod yang anda jalankan sendiri lebih berkesan daripada membaca sahaja, dan Go memberi ganjaran kepada amalan menjalankan kod kerana ciri terbaiknya, goroutines dan race detector, bersifat tingkah laku. Belajar Go menggabungkan pelajaran selama beberapa minit dengan editor, kata harian dan Concurrency Lab. Aplikasi ini percuma untuk dimulakan pada iOS dan Android, dengan 51 kursus yang disusun daripada peringkat pemula hingga lanjutan.
Bolehkah anda compile dan menjalankan kod Go pada telefon?
Ya, dengan sambungan internet. Belajar Go menghantar program anda kepada Go runner dan memaparkan output, manakala runner yang sama menyediakan gofmt, go vet dan race detector. Kod tersebut tidak dijalankan pada telefon itu sendiri, jadi anda perlu berada dalam talian apabila menekan butang jalankan, dan runner mempunyai had seperti peruntukan memori yang kecil serta saiz binary maksimum.
Adakah runner dalam aplikasi menyokong generics?
Belum buat masa ini. Runner dalam Belajar Go ialah Go 1.13, manakala generics diperkenalkan dalam Go 1.18, jadi program yang menggunakan type parameters atau kata kunci any tidak akan berjaya compile di situ. Aplikasi akan menerangkannya dalam bahasa yang mudah apabila perkara ini berlaku dan mencadangkan bentuk yang lebih lama. Kursus generics itu sendiri masih boleh dibaca sebagai pelajaran.
Apakah Go race detector dan bagaimana aplikasi menggunakannya?
Race detector melaporkan apabila dua goroutines mengakses memori yang sama tanpa lock antara mereka, iaitu pepijat yang hanya muncul pada sesetengah masa. Dalam Belajar Go, Concurrency Lab menjalankan teka-teki seperti counter yang dikemas kini oleh 200 goroutines di bawah race detector dan membolehkan anda menambah mutex lalu menjalankannya semula. Anda juga boleh menampal kod goroutine anda sendiri dan menjalankannya di bawah race detector.
Apakah Go kata?
Kata ialah latihan kecil dan berfokus yang anda selesaikan melalui kod, seperti membalikkan string dengan betul untuk teks bukan ASCII atau membungkus error supaya errors.Is masih dapat mencarinya. Belajar Go memberikan kata harian baharu, menyemak fungsi anda terhadap jadual kes yang turut merangkumi kes tersembunyi, dan menerangkan idiom tersebut selepas itu. Kata harian adalah percuma untuk semua orang.
Adakah saya memerlukan pengalaman pengaturcaraan untuk bermula?
Tidak. Belajar Go bermula dengan penerangan tentang Go dan sebab kewujudannya, kemudian pemboleh ubah, jenis dan aliran kawalan, dan setiap konsep diterangkan dalam bahasa yang mudah sebelum dipraktikkan. Pengalaman dalam bahasa lain membantu anda bergerak lebih pantas melalui kursus awal, tetapi kursus pertama ditulis untuk mereka yang bermula dari sifar.
Adakah Learn Go percuma?
Aplikasi ini percuma untuk dimuat turun. Kursus pertama adalah percuma, begitu juga kata harian, peruntukan harian AI Mentor, semakan gofmt tanpa had, pelaksanaan tanpa had di bawah race detector dan beberapa pelaksanaan go vet sehari. Pro membuka semua kursus, membuang iklan, memberikan AI Mentor tanpa had serta membuka pustaka kata dan escape analysis.
Adakah terdapat sijil pada penghujung kursus?
Ya. Lulus peperiksaan akhir memberikan anda sijil tamat kursus. Sijil itu menunjukkan usaha yang anda lakukan dan sesuai disertakan bersama projek kecil yang boleh anda terangkan dalam temu duga, tetapi ia bukan kelayakan akademik yang diiktiraf.
Adakah Learn Go membantu persediaan temu duga Golang?
Ya. Temu duga simulasi mengemukakan lima soalan pada tahap junior, pertengahan atau senior, daripada perbezaan slices dengan arrays hingga perkara yang disimpan oleh nilai interface semasa runtime, serta memberikan markah dan maklum balas terhadap jawapan anda. Kad Go Recall menguji gotcha yang biasa, dan topik lemah daripada temu duga akan ditambahkan ke dek ulang kaji anda. Satu temu duga bermarkah seminggu adalah percuma.
Apakah platform dan bahasa yang disokongnya?
Belajar Go tersedia pada iOS melalui App Store dan pada Android melalui Google Play, dengan antara muka dalam 22 bahasa. Aplikasi ini mendapat penarafan 4+, jadi tiada kandungan dalam bahan pembelajaran yang mempunyai had umur.
Mulakan
Tulis goroutine pertama anda hari ini
Percuma untuk bermula pada iOS dan Android, dalam 22 bahasa.
Lagi daripada CoddyKit
Tersedia di iOS dan Android.