команда go run, не предоставляющая достаточно информации для отладки - PullRequest
0 голосов
/ 24 января 2019

, когда я пробовал сценарии на каналах в го, я наткнулся на код для воспроизведения тупика, как показано ниже

package main

import (
    "fmt"
)

func main() {
    c := make(chan bool)
    c <- true
}

, когда я запускаю его, используя

go run 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

Спасибо за помощь

1 Ответ

0 голосов
/ 24 января 2019

Когда вы используете go run xxx.go go, только компилирует / запускает этот файл в основном пакете ... вместо запуска go install && xxx, где xxx - имя вашего исполняемого файла. go install собирает все и копирует в каталог bin ... попробуйте это локально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...