Golang program to pass buffered channel into a user-defined function

Here, we are going to learn how to pass buffered channel into a user-defined function in Golang (Go Language)?
Submitted by Nidhi, on April 03, 2021 [Last updated : March 04, 2023]

Passing buffered channel into a user-defined function in Golang

Problem Solution:

In this program, we will create a buffered channel and pass the channel into a user-defined function. Here, we will send and receive the item from the channel and print it on the console screen.

Program/Source Code:

The source code to pass the buffered channel into a user-defined function is given below. The given program is compiled and executed successfully.

Golang code to pass buffered channel into a user-defined function

// Golang program to pass buffered channel
// into a user-defined function

package main

import "fmt"

func WriteCountryNames(countyNames chan string) {
	//Send country names to buffered channel.
	countyNames <- "India"
	countyNames <- "USA"
	countyNames <- "UK"

	close(countyNames)
}

func main() {
	//buffered channel
	countyNames := make(chan string, 3)

	go WriteCountryNames(countyNames)

	//Receive country names from buffered channel.
	fmt.Println(<-countyNames)
	fmt.Println(<-countyNames)
	fmt.Println(<-countyNames)
}

Output:

India
USA
UK

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt package to formatting related functions.

func WriteCountryNames(countyNames chan string){
	//Send country names to buffered channel.
	countyNames <- "India"
	countyNames <- "USA"
	countyNames <- "UK"
	
	close(countyNames)
}

In the above code, we created a user-defined function WriteCountryNames() that accepts the channel as an argument and here we send country names to the channel.

In the main() function, we created a buffered channel countryNames using the make() function by specifying the type of item and size of the channel. Then we called WriteCountryNames() function to send county names to the channel. After that, we printed the county names on the console screen.

Golang Channels Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.