Cara membuat Select statement di Golang
package main
import (
"fmt"
"time"
)
func main() {
// Membuat dua channel bertipe int
ch1 := make(chan int)
ch2 := make(chan int)
// Goroutine untuk mengirim data ke ch1
go func() {
time.Sleep(2 * time.Second) // Menunggu 2 detik
ch1 <- 42
}()
// Goroutine untuk mengirim data ke ch2
go func() {
time.Sleep(1 * time.Second) // Menunggu 1 detik
ch2 <- 100
}()
// Menggunakan select statement untuk menangani multiple channels
select {
case nilai := <-ch1:
fmt.Println("Menerima dari ch1:", nilai) // Output: Menerima dari ch1: 42
case nilai := <-ch2:
fmt.Println("Menerima dari ch2:", nilai) // Output: Menerima dari ch2: 100
}
// Output: Menerima dari ch2: 100 (dalam contoh ini, ch2 adalah yang pertama kali siap)
}Last updated