GO : Channels


Bahasa pemrograman Go, memiliki channels yang berguna sebagai saluran untuk menghubungkan goroutines secara bersamaan. Anda dapat mengirim nilai-nilai ke dalam saluran dari satu goroutine dan menerima nilai-nilai ke dalam goroutine lain.
package main 
import "fmt" 
func main() {
 //Membuatchannel baru dengan menggunakan keyword make(chan val-type).
    messages := make(chan string)
 //Mengirim nilai ke dalam channels menggunakan keyword channel <- syntax.
Disini kita mengirim “ping” ke pesan channel yang dibuat diatas,
dari goroutine baru.
    go func() { messages <- "ping" }()
 //Sebuah <- channel syntax menerima nilai dari channel. Disini kita akan
menerima pesan “ping” dan print out.
    msg := <-messages
    fmt.Println(msg)
}
Ketika dijalankan, program pesan “ping” berhasil melewati dari satu goroutine ke goroutine yang lainnya via channel yang dibuat tadi.
Secara default mengirim dan menerima blok sampai kedua pengirim dan penerima sudah siap. Properti ini memungkinkan kita untuk menunggu di akhir program untuk "ping" pesan tanpa harus menggunakan sinkronisasi lainnya.

Output 
ping

Source

Comments

Popular posts from this blog

Dampak Photoshop terhadap Identitas Diri

Dampak negatif Smartphone terhadap kesehatan

Mengenal Barcode