간단한 채널 데이터 파이프라인 구축하기

GolangBeginner
지금 연습하기

소개

이번 챌린지에서는 고루틴 사이에서 정수를 전달하는 간단한 데이터 처리 파이프라인을 구축하여 Go 언어 채널의 강력한 기능을 실습해 봅니다. 버퍼가 있는 채널을 생성하고, 1 부터 5 까지의 숫자를 채널에 기록한 다음, 기록된 순서대로 각 숫자를 읽어와 출력하는 프로그램을 작성해야 합니다.

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 실습과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 모범 답안을 확인해 보세요. 통계에 따르면 이 과제는 초급 수준이며, 100%의 통과율과 학습자들로부터 100%의 긍정적인 평가를 기록하고 있습니다.

간단한 채널 데이터 파이프라인 구축하기

이번 챌린지에서는 고루틴 간에 정수를 전송하는 간단한 데이터 처리 파이프라인을 만들어 Go 채널의 활용법을 익힙니다.

과제

  • 용량이 5 인 정수형 버퍼 채널을 생성하세요.
  • 채널에 1, 2, 3, 4, 5 숫자를 차례대로 기록하세요.
  • 채널에서 각 숫자를 읽어와 기록된 순서대로 출력하세요.

요구 사항

  • 파일 경로는 ~/project/data_pipeline.go를 사용하세요.
  • make(chan int, 5)를 사용하여 버퍼 채널을 생성하세요.
  • 채널 전송 연산자 <-를 사용하여 숫자를 채널에 기록하세요.
  • 채널 수신 연산자 <-를 사용하여 채널에서 숫자를 읽으세요.
  • fmt.Println()을 사용하여 각 숫자를 출력하세요.
  • 모든 숫자가 완전히 기록되고 읽혔는지 확인하세요.

실행 예시

프로그램 실행:

go run data_pipeline.go

예상 출력:

1
2
3
4
5

힌트

  • 채널에 값을 보낼 때는 ch <- value 형식을 사용합니다.
  • 채널에서 값을 받을 때는 value := <-ch 형식을 사용합니다.
  • 버퍼 채널을 사용하면 데이터가 가득 차기 전까지 블로킹 없이 여러 값을 보낼 수 있습니다.
  • 필요한 경우 모든 값을 기록한 후 채널을 닫을 수 있습니다.
✨ 솔루션 확인 및 연습

요약

정리하자면, 이번 챌린지에서는 채널을 활용하여 간단한 데이터 처리 파이프라인을 구축하는 Go 프로그램을 작성해 보았습니다. 버퍼 채널을 생성하고, 1-5 까지의 숫자를 기록한 뒤, 이를 순서대로 읽어와 출력하는 과정을 통해 동시성 프로그래밍의 기초를 다졌습니다.