From 7d762500e6bb1c69bd6b766145347faaeaeaf0f2 Mon Sep 17 00:00:00 2001 From: Sangeeth Sudheer Date: Sun, 28 Apr 2024 15:27:07 +0530 Subject: [PATCH] Add ping pong --- channels/channels.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/channels/channels.go b/channels/channels.go index 0165993..07cc185 100644 --- a/channels/channels.go +++ b/channels/channels.go @@ -40,7 +40,25 @@ func bufferedChannels() { fmt.Println("Done") } +func ping(pingc chan<- string, msg string) { + pingc <- msg +} + +func pong(pingc <-chan string, pongc chan<- string) { + fmt.Println("pong() received message:", <-pingc) + pongc <- "pong!" +} + +func pingPong() { + header("Channel Directions") + pingc, pongc := make(chan string, 1), make(chan string, 1) + ping(pingc, "ping!") + pong(pingc, pongc) + fmt.Println("Received message in pingPong():", <-pongc) +} + func Channels() { simpleChannels() bufferedChannels() + pingPong() }