Goroutine ve Channel Yapıları
Go dilinde
goroutine ve
channel yapıları, eşzamanlı programlama için temel araçlardır. Goroutine\'ler, hafif iş parçacıklarıdır ve aynı anda birden fazla işlemi gerçekleştirmek için kullanılır. Channel\'lar ise bu goroutine\'ler arasında veri iletmek için kullanılır.
Goroutine Kullanımı
Goroutine oluşturmak için
go anahtar kelimesi kullanılır. Aşağıdaki gibi tanımlanabilir:
```
go func() {
// Kod burada
}()
```
Bu yapı, yeni bir goroutine başlatır ve bunun çalışması ana iş parçacığından bağımsızdır.
Channel Kullanımı
Channel oluşturmak için
make fonksiyonu kullanılır. Örneğin:
```
ch := make(chan int)
```
Channel üzerinden veri göndermek ve almak için aşağıdaki yöntemler kullanılır:
- Veri göndermek:
ch <- veri
- Veri almak:
deger := <-ch
Örnek Kullanım
Aşağıdaki örnek, goroutine ve channel kullanımını gösterir:
```
package main
import (
\"fmt\"
)
func main() {
ch := make(chan int)
go func() {
ch <- 42
}()
fmt.Println(<-ch) // 42\'yi yazdırır
}
```
Bu örnekte, bir goroutine 42 sayısını channel üzerinden ana iş parçacığına gönderir. Ana iş parçacığı bu veriyi alır ve ekrana yazdırır.
- Goroutine: Eş zamanlı işlemler için hafif iş parçacığı.
- Channel: Goroutine\'ler arasında veri iletimi sağlar.