Go
Pelajari Go secara menyeluruh. Mulai dari paket, variabel, dan alur kontrol, lalu pelajari lebih dalam tentang struct, antarmuka, konkurensi, pengujian, server HTTP, basis data, generik, pemrofilan, dan mengirimkan biner nyata ke produksi.
20 pelajaran, berurutan
- 125 mnt
Halo, Go
Selamat datang. Kalau belum pernah menulis kode sama sekali, Anda ada di tempat yang tepat. Go adalah bahasa pemrograman, yaitu cara memberi komputer...
Package mainImportFunc mainFmt.PrintlnGo run - 225 mnt
Variabel dan Tipe Data
Di pelajaran sebelumnya kamu mencetak sepotong teks yang tetap. Program sungguhan perlu mengingat hal-hal yang berubah: nama pelanggan, sebuah harga,...
Var declarationShort declaration :=IntFloat64StringBool+2 - 330 mnt
Alur Kendali: if dan for
Sampai sekarang setiap program yang kamu tulis berjalan dari atas ke bawah, satu baris demi satu baris, tanpa pilihan apa pun di sepanjang jalan....
IfElse ifElseFor loopFor as whileInfinite for+2 - 430 mnt
Fungsi
Setiap program yang kamu tulis sejauh ini hidup di dalam func main(). Itu cukup untuk selusin baris, tapi program sungguhan perlu menghitung hal yang...
Func keywordParametersReturn valuesMultiple return valuesNamed return valuesBlank identifier - 535 mnt
Slice dan Map
Setiap variabel yang Anda pakai sejauh ini menyimpan tepat satu nilai: satu nama, satu umur, satu harga. Kebanyakan masalah nyata melibatkan...
Slice literalAppendLenIndexingRangeMap literal+2 - 635 mnt
Struct dan Pointer
Setiap variabel yang kamu tulis sejauh ini di kursus ini menampung satu nilai lepas: satu bilangan, satu string, satu slice. Padahal data sungguhan...
Struct definitionField accessZero values for structsPointer types& and * operatorsPointer receivers vs value receivers+1 - 735 mnt
Methods dan Interfaces
Pelajaran sebelumnya mengajarkan cara membungkus field-field yang berkaitan ke dalam sebuah struct, tapi struct sendirian cuma menyimpan data, ia...
Method declarationReceiver typesPointer vs value receiversInterface definitionImplicit interface satisfactionSmall interfaces+1 - 835 mnt
Penanganan Kesalahan
Kamu sudah mengetik if err != nil lebih dari sekali di kursus ini tanpa sempat bertanya err itu sebenarnya apa dan datang dari mana. Fungsi gagal...
Error interfaceFmt.Errorf with %wErrors.IsErrors.AsCustom error typesPanic vs error+1 - 935 mnt
Modules dan Struktur Proyek
Setiap program yang Anda tulis di kursus ini sejauh ini hidup sebagai satu file tunggal yang bisa dijalankan dengan satu perintah. Proyek Go yang...
Go mod initGo.mod and go.sumImport pathsPackage vs moduleInternal/ folderCmd/ layout+1 - 1040 mnt
Proyek Akhir CLI Kecil
Sampai sekarang setiap program yang kamu tulis punya masukan yang dipatri di dalam kode sumbernya. Kalau kamu ingin menjumlahkan bilangan yang...
Os.ArgsStrconv.AtoiError handling with if err != nilOs.ExitGo buildPutting it together - 1140 mnt
Tur Pustaka Standar
Dalam belajar bahasa apa pun ada satu titik ketika kamu berhenti bertanya-tanya bagaimana menulis loop dan mulai bertanya bagaimana membaca file,...
FmtStringsStrconvTimeOsBufio+1 - 1240 mnt
Pengujian dan Benchmarks
Kamu menulis sebuah fungsi, menjalankan programnya, melihat jawabannya benar, lalu lanjut. Seminggu kemudian kamu mengubah sesuatu di dekatnya dan...
Go testTesting.TTable-driven testsT.Run subtestsTesting.B benchmarks_test.go file naming+1 - 1340 mnt
Goroutine dan Channel
Program Anda perlu mengunduh dua puluh file. Ditulis dengan cara biasa, ia mengunduh file pertama, menunggu, mengunduh yang kedua, menunggu, dan...
The go keywordGoroutine lifetimeUnbuffered channelsBuffered channelsSend and receiveRange over channel+1 - 1445 mnt
Pola Konkurensi
Goroutine dan channel adalah bahan mentah, seperti kayu dan sekrup. Tahu apa keduanya tidak lantas membuat Anda bisa membuat kursi. Pada praktiknya,...
Select statementContext.Context for cancellationSync.WaitGroupSync.MutexWorker pool patternFan-out fan-in idea - 1535 mnt
Generics
Kamu menulis sebuah function yang mencari angka terbesar di dalam slice of int. Lalu kamu butuh versi untuk float64, jadi function itu kamu salin dan...
Type parameters with [T any]ConstraintsComparableTilde approximation ~intGeneric Map and FilterWhen generics help, when they do not - 1645 mnt
Server HTTP
Di kebanyakan bahasa, "menulis sebuah web service" dimulai dengan memilih framework, dan pilihan itu penting, karena framework yang menentukan...
Net/httpHttp.HandleFuncHttp.ServerJSON responsesRequest routingMiddleware via http.Handler wrapping+1 - 1745 mnt
Database dengan database/sql
Semua program yang sudah Anda tulis sejauh ini melupakan seluruh isinya begitu proses berhenti. Untuk sebuah tool yang hanya mengubah input lalu...
Database/sql packageDriver importsSql.Open and sql.DB poolExec vs Query vs QueryRowPrepared statementsScanning rows+1 - 1840 mnt
Performa dan Pembuatan Profil
Pada suatu titik ada yang bilang service-nya lambat, lalu Anda membuka kodenya dan langsung menemukan loop yang pasti jadi biang keladinya. Anda...
Go test -benchPprof CPU and heap profilesEscape analysis with -gcflags=-mAvoiding unnecessary allocationsPreallocating slicesSync.Pool intuition - 1940 mnt
Pola Desain dalam Go
Program tumbuh besar. File yang tadinya masuk akal betul di dua ratus baris berubah jadi tempat di mana perubahan kecil merusak sesuatu tiga file...
Functional options patternRepository patternDependency injection via interfacesContext propagation through call stacksConstructor functions - 2045 mnt
Penerapan dan Produksi
Ada jarak antara program yang jalan di laptopmu dan program yang berani kamu tinggal jalan sementara kamu tidur. Menutup jarak itu bukan pekerjaan...
CGO_ENABLED=0 static binariesCross-compile with GOOS and GOARCHGraceful shutdown with http.Server and signal.NotifyContextMinimal Dockerfile with scratch or distrolessReading config from environment variables
Pelajari Go dalam bahasamu
Setiap pelajaran, kuis, dan balasan tutor tampil dalam bahasamu. Tutor AI menjawab dalam bahasa yang kamu pakai.
Roles that use Go
See how hiring teams interview engineers on Go, in production-like environments.
Backend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewDistributed Systems Engineer
Hire distributed systems engineers in workspaces with real Kafka, real consensus and real partition tooling. Live or take-home, fully recorded.
See the interviewPlatform Engineer
Hire platform engineers who reduce friction for every team. Real golden-path templates, real internal CLIs, real service onboarding flows. We record every step.
See the interview