【发布时间】:2015-01-24 05:57:51
【问题描述】:
作为一名 Python 和 Django 开发人员,我可以使用脚本独立运行项目中的任何代码。
我不太清楚如何在 Go 中实现相同的功能,因为看起来每个 Go 项目应该只有一个主要的可执行文件。
我想从 cronjob 调用我的项目中的一个函数,但我不太确定如何添加它。在我的主要功能中使用标志是我能想到的唯一方法。但如果我的脚本本身接受额外的标志,它看起来会很混乱,如下所示:
go run server.go --debug --another-flag --script-name <MY-SCRIPT> --my-script-flag-one <FLAG-ONE> --my-script-flag-two <FLAG-TWO>
有什么优雅的方法吗?
【问题讨论】:
-
您可能会发现这个问题很有用:What is a sensible way to layout a Go project
-
将这段代码变成一个包和一个命令。例如,Can I have a library and binary with the same name?
-
有些混淆是将 Go 视为一种脚本语言。
go run绝对不应该用于除了玩一个小测试之外的东西,例如。否则你会穿上play.golang.org