From 7bf7c19c99de86c9a93a20a8ba54df8b93a4061d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20G=C3=B6r?= Date: Mon, 22 Jan 2024 04:12:30 +0300 Subject: [PATCH] go routine example channels example 1 --- channels/demo1.go | 17 +++++++++++++++++ main.go | 13 +++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 channels/demo1.go diff --git a/channels/demo1.go b/channels/demo1.go new file mode 100644 index 0000000..d3096e5 --- /dev/null +++ b/channels/demo1.go @@ -0,0 +1,17 @@ +package channels + +func EvenNumber(EvenNumberCn chan int) { + total := 0 + for i := 0; i <= 10; i+=2 { + total = total + i + } + EvenNumberCn <- total +} + +func OddNumber(OddNumberCn chan int) { + total := 0 + for i := 1; i <= 10; i+=2 { + total = total + 1 + } + OddNumberCn <- total +} \ No newline at end of file diff --git a/main.go b/main.go index 665a40a..5a3f86d 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,7 @@ package main import ( "fmt" "golesson/arrays" + "golesson/channels" "golesson/conditionals" "golesson/examplerange" "golesson/functions" @@ -62,4 +63,16 @@ func main() { go goroutines.OddNumber() time.Sleep(5 * time.Second) fmt.Println("Main ended") + + EvenNumberCn := make(chan int) + OddNumberCn := make(chan int) + + go channels.EvenNumber(EvenNumberCn) + go channels.OddNumber(OddNumberCn) + + EvenNumberTotal, OddNumberTotal := <- EvenNumberCn, <- OddNumberCn + + multiply := EvenNumberTotal * OddNumberTotal + + fmt.Println("Multiply Result : ", multiply) }