初级会员
  • 第 58253 位会员
  • zj4202
  • 2020-11-26 10:47:34
  • Offline
  • 20 26

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #17 @Vaniot 有可能又黄了,上个帖子5年前,这个帖子两年前,三年之期已到。。。
  • 可以看下最近的go周刊里面的题目:https://studygolang.com/topics/12982 原因:假设我们在main goroutine里启动一个子goroutine叫b,那么实际上在main goroutine里发生的事情是这样的: 1.main goroutine执行到go语句 2.go语句发现后面的函数表达式需要传递参数 3.于是被传递的参数在main goroutine里求值 4.新的goroutine b被创建,刚求值的参数传递给需要执行的函数(假设叫f),f在goroutine b中开始执行 5.go语句结束,控制流程回到main goroutine 所以go fmt.Println(<-ch1)里的chan接收操作是在main goroutine里执行的,因此死锁是板上钉钉的事情。如果改成go func() {fmt.Println(<-ch1)}就没问题了
  • 1.定义了一个匿名变量 2.类型断言,如果是invoke类型,ok为true,i为转换后的invoke类型,可点出内部变量