"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 채널이 가득 차면 감지하는 방법은 무엇입니까?

채널이 가득 차면 감지하는 방법은 무엇입니까?

2025-04-14에 게시되었습니다
검색:390

How Can I Detect a Full Buffered Channel in Go?

기본적으로

가있는 선택 문을 사용하여 버퍼링 된 채널이 가득 찼는 지 결정하는 한 가지 방법은 기본 조항과 함께 선택 문을 사용하는 것입니다. 예를 들어 :

패키지 메인입니다 "FMT"가져 오기 func main () { ch : = make (Chan Int, 1) // 채우십시오 ch 이 예에서 SELECT 문에는 두 가지 경우가 있습니다. 채널이 가득 차 있지 않으면 작업이 성공합니다.

사례를 즉시 실행할 수없는 경우 기본 케이스가 실행됩니다. 채널이 이미 가득 차 있으므로 기본 케이스가 트리거되고 값 2가 폐기됩니다.

package main

import "fmt"

func main() {
    ch := make(chan int, 1)

    // Fill it up
    ch  

출력 :

  • 채널이 가득 찼습니다. 값 폐기
채널 크기 확인

Channel full. Discarding value

이 접근법은 크기 확인과 if 문의 채널 활동의 가능성으로 인해 IF 블록이 입력 될 때까지 결과가 유효하지 않다는 점에 유의하십시오.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3