这是新手问题......我们说我在一个名为" myprogram"的目录(这里以root身份启动的存储库)中有一个Go代码。我写了一些分为几个子目录的包。
然后我
存储库,根目录
myprogram
----------- package1
----------- package2
----------- package3
然后在myprogram目录中,我将使用main程序包为主程序编写代码,主程序将调用子目录中定义的所有程序包,如下所示:
main.go
import "github.com/username/package1"
import "github.com/username/package2"
import "github.com/username/package3"
func main() {
package1.Function1()
....
}
然后我可以用
运行这段代码$ go run main.go
到目前为止我没有问题。但是,如果这个程序有一些标志功能呢?
$ go run main.go flag1 flag2
这有效,但我想运行类似
的东西$ myprogram
$ flag1
....
$ flag2
由于所有程序和源代码都将包含在myprogram目录下,myprogram也是项目名称,存储库
myprogram
----------- package1
----------- package2
----------- package3
我们用命令运行Vim,就像这样......
$ vim
总结一下,如何通过命令运行程序,而不是运行main?
我可以参考哪个开源存储库?或者,请让我知道要阅读的包或文档。我试过了
go install
但是不能让它像我想要的那样工作。
非常感谢!
答案 0 :(得分:2)
使用go build
。这将在当前目录中创建包的可执行文件。您还可以运行go build <packagename>
,在$GOPATH/bin
中创建二进制文件。
答案 1 :(得分:0)
看看this one