Go

Channels

Channels, buffered vs unbuffered, close, select, range over channels, nil channels

22 perguntas de entrevistaยท
Junior
1

What is a channel in Go?

Resposta

A channel is a data type that enables communication and synchronization between goroutines. It acts as a typed conduit allowing sending and receiving values in a thread-safe manner. Use channels to share data between goroutines instead of sharing memory directly.

2

How to create an unbuffered channel of integers in Go?

Resposta

An unbuffered channel is created with make(chan T) without specifying capacity. It blocks the sender until a receiver is ready, ensuring strict synchronization. Use unbuffered channels for one-to-one communications requiring explicit synchronization.

3

What is the main difference between a buffered and an unbuffered channel?

Resposta

An unbuffered channel blocks the sender until a receiver is ready (strict synchronization), while a buffered channel can store values up to its capacity before blocking. Buffered channels decouple goroutines and improve performance in some cases, but can hide concurrency issues. Use unbuffered for synchronization, buffered for throughput.

4

How to create a buffered channel with a capacity of 10 elements?

5

How to send a value into a channel?

+19 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis