채널 사용하기 > Go 언어

본문 바로가기

Go 언어

Go 언어

4. 채널 사용하기

페이지 정보

작성자 관리자 댓글 0건 조회 5,421회 작성일 19-03-12 08:23

본문

4. 채널 사용하기

체널(channel)은 고루틴 끼리 데이터를 주고받고, 실행 흐름을 제어하는 기능이다.

모든 타입을 채널로 사용할 수 있다. 채널 자체는 값이 아닌 레퍼런스 타입이다.


채널은 다음과 같은 형식으로 사용한다.


make(chan 자료형)



고루틴과 채널을 사용하여 두 정수 값을 더해보겠다.


package main

import "fmt"

func sum(a int, b int, c chan int) {

 c <- a + b          // 채널에 a와 b의 합을 보냄

}

func main() {

 c := make(chan int) // int형 채널 생성

 go sum(1, 2, c)     // sum을 고루틴으로 실행한 뒤 채널을 매개변수로 넘겨줌

 n := <-c            // 채널에서 값을 꺼낸 뒤 n에 대입
 fmt.Println(n)      // 3

} 




Copyright © LEELAB.CO.KR. All rights reserved.