我正处于想要将我的 Go 网络服务器组织成包的地步。目前我在几个文件中拥有所有内容,我只需键入:'go run server.go foo.go bar.go'
如何组织我的文件,这样我就不需要不断地向命令行添加文件。我调查了 GOPATH 变量,但它似乎不起作用。
export GOPATH=$HOME/myserver
我将我的文件移动到 src/子目录。
myserver/src/server.go
myserver/src/foo.go
myserver/src/bar.go
'go run' 不应该在 $HOME/myserver/src 中搜索所有 go 文件吗?
我已经尝试过这些示例,但它们不起作用。
go run server.go; # Doesn't work
go run src/server.go; # Doesn't work
顺便说一下,所有文件都在“package main”中
最佳答案
此信息在 golang.org 上有很好的介绍
阅读this关于如何写Go代码
和this关于组织go代码
提示:您可以运行go run *
来运行文件夹中的所有文件
你上面的例子应该是这样的
$GOPATH=$HOME
GOPATH 应该有:
$GOPATH
src/
pkg/
bin/
$GOPATH/src
是存储每个 go 项目源代码的地方
$GOPATH/src/myserver
将包含您的 myserver 程序
cd 到 $GOPATH/src/myserver
并运行 go install
现在你的 myserver
二进制文件位于 $ GOPATH/bin/myserver
将你的 bin 的位置添加到你的路径 export PATH=$PATH:$GOPATH/bin
然后你可以运行 myserver
来启动你的 go 程序
关于GOPATH 和 Go Web 服务器 : 'go run myserver.go' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26195497/