Golang
  • Daftar isi
  • Pengenalan Golang
  • Cara instalasi Golang
  • Cara menjalankan Golang
  • Cara mendeklarasikan variabel di Golang
  • Apa saja tipe-tipe data di Golang
  • Cara Konversi Tipe Data di Golang
  • Apa saja operator-operator di Golang
  • Cara melakukan seleksi kondisi di Golang
  • Cara melakukan perulangan di Golang
  • Cara membuat Array di Golang
  • Cara membuat Slice di Golang
  • Cara membuat Slice dengan Operator Slice
  • Cara membuat Map di Golang
  • Cara membuat Pointer di Golang
  • Cara membuat Function di Golang
  • Cara membuat Package di Golang
  • Cara membuat multi return Function di Golang
  • Cara membuat Struct di Golang
  • Cara membuat method di Golang
  • Cara membuat Defer dan Scope di Golang
  • Cara membuat underscore(blank) di Golang
  • Cara membuat Goroutine di Golang
  • Cara membuat Channels di Golang
  • Cara membuat WaitGroup di Golang
  • Cara membuat Select statement di Golang
  • Cara membuat Http Server di Golang
  • Cara membuat Http Server di Golang part 2
  • Cara membuat Http Server di Golang part 3
  • Cara membuat Http Server di Golang part 4
  • Pengenalan Testing di Go
  • Membuat Unit Test di Go
Powered by GitBook
On this page

Cara membuat Channels di Golang

Channels adalah salah satu fitur kunci di Go yang digunakan untuk mengizinkan komunikasi antara goroutine. Channels digunakan untuk mengirim dan menerima data antara goroutine-goroutine yang berjalan konkuren. Mereka memungkinkan sinkronisasi dan koordinasi antara goroutine, menjadikannya alat yang kuat untuk mengelola konkurensi di Go.

Membuat Channels:

Untuk membuat channel di Go, Anda menggunakan operator make dengan menyertakan jenis data yang ingin Anda kirim melalui channel. Misalnya, untuk membuat channel yang dapat mengirim dan menerima nilai bertipe int, Anda dapat melakukannya seperti ini:

ch := make(chan int)

Channel ini sekarang dapat digunakan untuk mengirim dan menerima nilai bertipe int antara goroutine.

Mengirim Data ke Channel:

Untuk mengirim data ke channel, Anda menggunakan operator <-. Berikut adalah contoh cara mengirim nilai 42 ke channel ch:

ch <- 42

Menerima Data dari Channel:

Untuk menerima data dari channel, Anda juga menggunakan operator <-. Berikut adalah contoh cara menerima nilai dari channel ch dan menyimpannya dalam variabel nilai:

nilai := <-ch

Contoh Penggunaan Channel:

Berikut adalah contoh program sederhana yang menggunakan channel untuk mengirim dan menerima data antara dua goroutine:

package main

import "fmt"

func fungsiGoroutine(ch chan int) {
    ch <- 42 // Mengirim nilai 42 ke channel
}

func main() {
    // Membuat channel bertipe int
    ch := make(chan int)

    // Menjalankan goroutine dengan channel sebagai argumen
    go fungsiGoroutine(ch)

    // Menerima nilai dari channel dan mencetaknya
    nilai := <-ch
    fmt.Println("Nilai dari channel:", nilai) // Output: Nilai dari channel: 42
}

Pada contoh di atas, goroutine fungsiGoroutine mengirim nilai 42 ke channel ch, dan nilai tersebut kemudian diterima dan dicetak oleh fungsi main.

Channels memungkinkan goroutine berkomunikasi dengan aman tanpa memerlukan penguncian eksternal. Mereka adalah alat yang sangat berguna untuk mengkoordinasikan kerja antara goroutine-goroutine di dalam aplikasi Go.

Di bab berikutnya akan dibahas tentang bagaimana membuat WaitGroup di Golang

PreviousCara membuat Goroutine di GolangNextCara membuat WaitGroup di Golang

Last updated 1 year ago