当我尝试使用go频道中的场景时,遇到了如下代码重现死锁的情况
package main
import (
"fmt"
)
func main() {
c := make(chan bool)
c <- true
}
当我使用
运行它时运行gorouting.go
我得到以下输出
> main.main()
> E:/GO Samples/gorouting.go:13 +0x57
> exit status 2
但是当我确实在https://play.golang.org中运行时,我获得了有关该异常的更多详细信息,我是否在命令中丢失了某些内容,或者是否需要在计算机级别进行任何配置?
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.main()
/tmp/sandbox592049259/main.go:7 +0x60
我正在使用此配置运行
go版本go1.10.3 Windows / amd64
感谢您的帮助
答案 0 :(得分:0)
当您使用go run xxx.go
时,仅编译/运行主包中的文件...与运行go install && xxx
相比,其中xxx是可执行文件的名称。 go install
构建所有内容并将其复制到bin目录...在本地尝试。