Select sangat membantu kita dalam membuat option – option dalam sebuah menu. Pernyataan select memblokir sampai salah satu operasi kirim / terima siap. Jika beberapa operasi siap, salah satunya dipilih secara acak. Default case dalam pernyataan select dieksekusi ketika tidak ada case lain yang siap. Ini biasanya digunakan untuk mencegah pemblokiran pernyataan select.

Pada program di atas, fungsi proses pada baris no. 8 sleeps selama 10500 milidetik (10,5 detik) dan kemudian menulis proses berhasil ke saluran ch. Fungsi ini disebut bersamaan pada baris no. 15 program.

Setelah memanggil proses Goroutine secara bersamaan, infinite untuk loop dimulai di Goroutine utama. Loop tak terbatas tertidur selama 1000 milidetik (1 detik) selama awal setiap iterasi dan mereka melakukan operasi pilih. Selama 10500 milidetik pertama, kasus pertama dari pernyataan pilih yaitu case v: = <-ch: tidak akan siap karena proses yang akan ditulis Goroutine ke saluran ch hanya setelah 10500 milidetik. Karenanya kasus kesalahan akan dieksekusi selama waktu ini dan program tidak akan mencetak nilai yang diterima 10 kali.

Setelah 10,5 detik, proses penulisan proses Goroutine berhasil masuk no. 10. Sekarang kasus pertama dari pernyataan pilih akan dieksekusi dan program akan mencetak nilai yang diterima: proses berhasil dan kemudian akan berakhir. Program ini akan menampilkan,

Oke itulah tadi pembahasan saya tentang Select dalam Bahasa Golang Part 2, semoga bermanfaat.