Go로 구현된 고루틴: 구문: go func() { ... }. 실제 사례: 피보나치 수열을 계산하고 버퍼링되지 않은 채널을 통해 결과를 보내는 고루틴을 만듭니다.
Go에서 고루틴 코루틴을 구현하는 방법은 무엇인가요?
Golang의 고루틴은 작업을 동시에 실행하는 데 사용할 수 있는 경량 코루틴입니다. 스레드와 달리 고루틴은 가볍고 Go 런타임에 의해 관리되므로 수동으로 생성하거나 관리할 필요가 없습니다.
Syntax
고루틴을 생성하는 구문은 다음과 같습니다.
go func() { // Goroutine 的代码 }()
실용 사례
다음은 고루틴을 사용하여 피보나치 수열을 계산하는 실제 사례입니다.
package main func main() { c := make(chan int) go fibonacci(10, c) for i := range c { fmt.Println(i) } } func fibonacci(n int, c chan int) { x, y := 0, 1 for i := 0; i < n; i++ { c <- x x, y = y, x+y } close(c) }
지침
make(chan int)
는 버퍼링되지 않은 채널 c
를 생성합니다. make(chan int)
创建一个无缓冲通道 c
。go fibonacci(10, c)
启动一个 Goroutine 来计算斐波那契序列并将其发送到通道 c
中。for i := range c
从通道 c
中接收值并打印到标准输出。close(c)
go fibonacci(10, c)
는 고루틴을 시작하여 피보나치 수열을 계산하고 이를 c
채널로 보냅니다. for i := range c
는 c
채널에서 값을 받아 표준 출력으로 인쇄합니다. 🎜🎜close(c)
고루틴 계산이 완료된 후 채널을 닫습니다. 🎜🎜위 내용은 Go에서 Goroutine 코루틴을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!