728x90 반응형 Go Lang1 [GO] go routine 생성 및 channel 통신시 신경써야할 점 GO를 공부하면서 고루틴과 채널 쪽에서 상당히 많은 시간이 소모되었다. 배운대로 코드를 작성하면 자꾸 실행이 되지 않거나 에러가 발생했기 때문이다. 그 원인들을 정리해놓기로 했다. -go routine 함수로 선언한 것을 불러오든 익명함수로 작성하든 메인함수가 먼저 종료되어 버리면 routine은 실행되지 못하고 종료된다. 따라서 메인함수에 routine이 모두 종료되면 메인이 종료되도록 하는 코드를 작성해야 routine이 명확하게 실행될 수 있다. 또 익명함수로 선언할 경우에는 go func(){....}() 처럼 마지막에 괄호를 붙여줘야 익명함수가 실행된다. -go channel 채널로 통신할 때 채널에 대한 길이를 지정하지 않은 상태에서 수신하는 곳이 없으면 dead lock 에러가 발생하게 된다.. 2019. 4. 9. 이전 1 다음 728x90 반응형