Kerangka Materi
Go dalam Konteks: Perbandingan
- Go vs Java, Python, C, dan lainnya
- Filosofi desain kunci dari Go
- Kapan (dan tidak kapan) menggunakan Go
Konsep Bahasa Dasar
- Menyiapkan lingkungan pengembangan Go
- Variabel, konstanta, dan tipe data
- Fungsi dan nilai kembali berganda
- Struktur kontrol: if, switch, for
- Array, slice, dan map
- Strukt dan penyertaan
- Metode dan antarmuka
- Memahami pointer dalam Go
- Idiom dan pola penanganan kesalahan
Koncurrency di Go
- Goroutines dan pengatur waktu runtime Go
- Kanal dan komunikasi pesan
- Perintah select
- Pola koncurrency (fan-out, fan-in, worker pools)
- Sinkronisasi (WaitGroups, Mutexes)
Menggunakan Paket Standar dan Umum
- Bekerja dengan paket fmt, strings, time, dan math
- I/O file menggunakan os dan io/ioutil
- Klien HTTP dan server dengan net/http
- Parsing dan pengkodean JSON
Organisasi Proyek dan Modul Go
- Menggunakan modul Go untuk manajemen dependensi
- Menyusun paket dan berkas
- Membangun dan menginstal aplikasi Go
Alat-Alat Go
- Menggunakan gofmt dan go vet untuk format kode dan linting
- Menjalankan dan menulis unit test dengan go test
- Benchmark dan profiling menggunakan go test -bench dan pprof
- Debugging dengan Delve (opsional)
Ringkasan dan Langkah Berikutnya
- Best practices untuk pengembangan Go
- Gambaran umum tentang kerangka web Go dan ekosistem
- Sumber daya untuk pembelajaran lanjutan
Persyaratan
- Pengetahuan tentang bahasa pemrograman apa pun (misalnya C, Java, Python, PHP, dll.).
- Kursus ini tidak menjelaskan konsep dasar seperti loop atau if-statement — kursus ini fokus pada bagaimana hal-hal tersebut diimplementasikan dalam Go.
Audience
- Pengembang perangkat lunak yang familiar dengan bahasa pemrograman lain
- Pengembang backend yang beralih ke Go
- Insinyur yang bekerja pada aplikasi cloud-native atau kritis performa
Testimoni (6)
The practical exercises which were really entertaining.
Jurgen Cruz - Focus Engineering SRL
Kursus - Go Programming Language for Programmers
The Trainer knew niche language concepts and had a historical perspective on how the language has changed since its original release date.
Brandon - DuosTechnologies, Inc.
Kursus - Go Programming Language for Programmers
The level of detail into the mechanics of why and how something worked was helpful. I also really appreciated having the repo to pull at the day so I could focus on watching what he was explaining.
Sara - DuosTechnologies, Inc.
Kursus - Go Programming Language for Programmers
The didactic way of presenting
Ivo Abdul - CEDSIF Ministry of Finance
Kursus - Go Programming Language for Programmers
Concepts of range, slice, swaps,...
Edmundo Manave - CEDSIF Ministry of Finance
Kursus - Go Programming Language for Programmers
The simplicity of language and the examples given by the teacher