고랑찬은 문을 닫았나요?
Dec 13, 2019 am 11:45 AMchan은 고루틴 통신에 사용되는 golang에서 매우 중요한 것입니다. 왜냐하면 golang 프로그램에는 필연적으로 여러 고루틴이 있고 이러한 고루틴을 동기화하는 방법이 매우 중요하기 때문입니다.几 chan을 사용할 때 여러 가지 경험이 있습니다:
(추천 학습:
) 첫째, 항상 기호 & lt를 취하고 c 둘째, 읽을 때 ok가 없으면 읽을 수도 있습니다. 그러나 닫혀 있으면 읽을 수도 있고 할당이 없습니다. 닫혔는지 알고 싶다면 ok를 추가해야 합니다. 즉, chan이 닫히지 않는 한 그렇지 않으면 v,ok := < -c는 v := < ;-c 방식 대신 읽기에 사용해야 합니다.
다시 말하지만, 닫힌 채널에는 쓸 수 없으므로 일반적으로 쓰기가 성공할지 아니면 닫힐지 결정하려면 신호 채널(일반적으로 버퍼는 1)을 사용해야 합니다. . 글쓰기를 포기해야 합니다.
마지막으로 chan이 닫힌 후에도 데이터가 있으면 ok는 여전히 true이고 chan에 데이터가 없을 때까지는 false입니다.
채널이 닫히면 검색은 차단되지 않지만 0 값을 반환합니다package main import "fmt" func main() { c := make(chan int, 5) c <- 123 close(c) fmt.Println(<-c) fmt.Println(<-c) }
output
123 0
위 내용은 고랑찬은 문을 닫았나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Golang 데이터베이스 연결을 위한 연결 풀을 구성하는 방법은 무엇입니까?

Golang을 사용하여 파일을 안전하게 읽고 쓰는 방법은 무엇입니까?

Golang 프레임워크의 오류 처리에 대한 모범 사례는 무엇입니까?
