В проектах Go, которым требуется как библиотека, так и интерфейс командной строки (CLI), часто возникает проблема наличия нескольких пакетов в одном каталоге.
Одна из таких структур проекта:
whatever.io/ myproject/ main.go myproject.go
Пакет main и func main необходимы для запуска выполнения в Go, тогда как для библиотеки требуется отдельный пакет, например пакет myproject. Однако при импорте этого проекта компилятор Go может возразить:
main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject
Чтобы решить эту проблему, поместите оба пакета в новую папку внутри того же каталога, что и main.go. Не забудьте обновить операторы импорта, чтобы они ссылались на новый пакет из вашего $GOPATH.
Например:
whatever.io/ myproject/ library/ myproject.go main.go
В main.go импортируйте пакет библиотеки следующим образом:
import "../library/myproject"
Этот подход обеспечивает четкое разделение между библиотеки и интерфейса командной строки, позволяя им находиться в одном каталоге.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3