Go 함수에 송신 전용·수신 전용 채널을 전달합니다. 타입이 제한하는 동작과 close 소유권은 어떻게 다른가요?
꼬리 질문을 독립 문항으로 확장했습니다. 원래 문항에서 맥락 보기 →
잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?
답변과 점검 포인트 펼치기답변 접기
01
구두 답변
정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.
chan<-는 수신을, <-chan은 송신을 타입 수준에서 제한해 함수의 역할을 드러냅니다. 그러나 송신 가능하다는 사실만으로 공유 채널을 그 함수가 close해도 된다는 수명 소유권이 생기지는 않습니다.
여러 producer가 있으면 조정자가 전체 종료를 확인한 뒤 닫습니다. receiver는 입력이 닫힘을 ok로 처리하고 취소가 필요하면 별도 신호를 사용합니다. 타입 제약·실행 소유권·메시지 수명을 함께 테스트합니다.
02
득점 포인트
이해가 드러나는 지점을 확인해 보세요.
- chan<-는 수신을, <-chan은 송신을 타입 수준에서 제한해 함수의 역할을 드러냅니다. 그러나 송신 가능하다는 사실만으로 공유 채널을 그 함수가 close해도 된다는 수명 소유권이 생기지는 않습니다.
- 타입 제약·실행 소유권·메시지 수명을 함께 테스트합니다.
03
감점 포인트
놓치기 쉬운 조건과 오해를 짚어 보세요.
- 다음 핵심 구분을 반대로 설명하거나 성립 조건을 생략한다: chan<-는 수신을, <-chan은 송신을 타입 수준에서 제한해 함수의 역할을 드러냅니다.
04
더 파고들 거리
하나 더 질문하며 이해의 범위를 넓혀 보세요.
득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.
원리부터 공부하고 싶다면
답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.