Member-only story
Select Notions You Should Know in Golang
Mastering Go’s Select: Beyond the Basics
Published in
5 min readSep 22, 2024

Hello, here is Wesley, Today’s article is about select in Go. Without further ado, let’s get started.💪
1.1 Select Introduction
In the Go language, the select
statement is used to handle multiple channel operations and simplify concurrent programming's communication and synchronization issues. The select
statement is similar to the switch
statement, but each case
must be a channel operation.
Here is the basic syntax of the select
statement:
select {
case <-chan1:
// Executed when chan1 has data to receive
case chan2 <- value:
// Executed when data can be sent to chan2
default:
// Executed when none of the cases are satisfied
}
Use Cases
- Multiple Channel Selection: You can wait for multiple channel operations simultaneously, and when any one of them is ready, the program will execute the corresponding case.
- Timeout Handling: By combining with the
time.After
function, you can implement a timeout mechanism. - Non-blocking Communication: By using the
default
clause, you can achieve non-blocking channel operations.