go 语言学习十 - 通道
Posted 学习博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 语言学习十 - 通道相关的知识,希望对你有一定的参考价值。
package main import ( "fmt" "math" ) /** c <- answers(chan) <- (cartesian struct) goroutine (polarCoord struct) <- questions(chan) <- polar{5, 30.5} */ func main() { questions := make(chan polar) defer close(questions) answers := make(chan cartesian) defer close(answers) go func() { for { p := <-questions radian := p.angle * math.Pi / 180.0 //弧度 x := p.radius * math.Cos(radian) y := p.radius * math.Sin(radian) answers <- cartesian{x, y} } }() questions <- polar{5, 30.5} c := <-answers fmt.Printf("(%.3f,%.3f)", c.x, c.y) } func process (questions chan polar, answers chan cartesian){ } type cartesian struct { x float64 y float64 } type polar struct { radius float64 angle float64 //角度 }
以上是关于go 语言学习十 - 通道的主要内容,如果未能解决你的问题,请参考以下文章