
Paket context
context.Context, pembatalan, timeout, deadline, nilai, WithCancel, WithTimeout
1Apa peran utama paket context di Go?
Apa peran utama paket context di Go?
Jawaban
Paket context memungkinkan pengelolaan timeout, pembatalan, dan deadline secara konsisten di seluruh rantai pemanggilan. Ini mencegah goroutine zombie yang terus berjalan padahal hasilnya tidak lagi dibutuhkan. Selalu teruskan context sebagai parameter pertama dan periksa Done() secara berkala dalam operasi panjang untuk menghormati pembatalan.
2Fungsi mana yang membuat context kosong tanpa deadline atau pembatalan?
Fungsi mana yang membuat context kosong tanpa deadline atau pembatalan?
Jawaban
context.Background() mengembalikan context kosong yang tidak dapat dibatalkan, tanpa deadline atau nilai. Ini berfungsi sebagai titik awal untuk membuat context turunan dan biasanya digunakan di main, inisialisasi, atau pengujian. Jangan pernah menggunakan nil sebagai context karena menyebabkan panic saat mengakses metode.
3Apa perbedaan antara context.Background() dan context.TODO()?
Apa perbedaan antara context.Background() dan context.TODO()?
Jawaban
context.TODO() berfungsi sebagai placeholder ketika context yang sesuai belum jelas atau belum tersedia selama pengembangan. context.Background() digunakan untuk titik masuk nyata seperti main atau handler HTTP. Keduanya identik secara fungsional, tetapi TODO() mendokumentasikan niat sementara yang seharusnya diganti nanti.
Bagaimana cara membuat context yang dapat dibatalkan secara manual?
Channel mana yang memungkinkan mendeteksi pembatalan sebuah context?
+17 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Struktur Data Go
Interface Go
Penanganan Error
Dasar-Dasar Goroutine
Channels
Go Modules
Server HTTP
Klien HTTP
Enkoding JSON
Database/SQL
Testing
Pola Concurrency
Primitif Sinkronisasi
Framework web Go
Desain API REST
gRPC
Reflection
Manajemen Memori
Optimasi Performa
Generics
Go Design Patterns
Microservices
Keamanan dan Autentikasi
Docker & Containerization
Kubernetes Basics
Go Tingkat Lanjut
Pengembangan CLI
Kuasai Go untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis