Ikon aplikasi Belajar Go

Belajar Go

Pendidikan · Percuma · iOS & Android · CoddyKit

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.

App Store — Muat turun percumaGoogle Play — Muat turun percuma
Harga
Percuma, naik taraf Pro
Platform
iOS dan Android
Bahasa
22
Penarafan umur
4+
Memerlukan
iOS 15.1 atau lebih baharu
Skrin utama laluan pembelajaran Go dengan butang Mulakan Pelajaran Pertama, gelang sasaran harian dan kad permintaan ciriPaparan keseluruhan kursus Go Kickoff Concepts and Setup dengan bar kemajuan, kumpulan pelajaran pertama percuma dan butang Tukar Kursus Anda
51Kursus, A1 hingga C1
-raceConcurrency Lab dengan race detector
HarianKata baharu setiap hari
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

Skrin utama laluan pembelajaran Go dengan butang Mulakan Pelajaran Pertama, gelang sasaran harian dan kad permintaan ciri
Laluan pembelajaranSkrin utama dibuka pada laluan pembelajaran dengan butang mula, sasaran harian dan pautan ke Skill Hub.
Paparan keseluruhan kursus Go Kickoff Concepts and Setup dengan bar kemajuan, kumpulan pelajaran pertama percuma dan butang Tukar Kursus Anda
Paparan keseluruhan kursusKursus pertama, Go Kickoff: Concepts & Setup, ditandakan sebagai percuma dan dibahagikan kepada tiga pelajaran pendek.
Editor kod yang memaparkan program Go dengan package main, import fmt dan panggilan fmt.Println di sebelah pelajaran tentang program pertama
Editor kodPelajaran bertajuk Program Pertama Anda dengan editor kod dibuka pada fail package main dan butang jalankan.
Skrin sembang AI dengan gesaan cadangan untuk menerangkan konsep utama, memberikan petua, menguji saya dan mencipta peta pembelajaran
AI MentorEmpat gesaan cadangan memulakan sembang: terangkan konsep utama, berikan petua, uji saya atau buat peta pembelajaran.
Skrin utama tema cerah dengan laluan pembelajaran, sasaran harian dan Skill Hub
Skrin utamaSkrin utama yang sama dalam tema cerah, dengan sasaran harian dan Skill Hub di bawah kursus aktif.

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.

  1. 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.

  2. Fungsi, Slices dan Maps

    Fungsi dengan berbilang nilai pulangan, defer dan parameter variadic, arrays, slices dan maps, serta strings, pemformatan fmt dan pakej time.

  3. Structs, Pointers dan Interfaces

    Structs dan methods, value receiver berbanding pointer receiver, pointers, interfaces tersirat dan duck typing, serta embedding untuk komposisi.

  4. 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.

  5. Goroutines, Channels dan Sync

    Asas goroutine dan channel, corak select dan channel, mutex dan pakej sync, context untuk pembatalan, serta worker pools dan pipelines.

  6. 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.

  7. 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.

  8. 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.

  1. 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.

  2. 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.

  3. 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.

App Store — Muat turun percumaGoogle Play — Muat turun percuma
Kali terakhir disemak · Diterbitkan oleh CoddyKit · Dasar privasi
Tersedia di iOS dan Android.