我有functions/hello.go
个文件
运行go build
会在同一目录中创建新的二进制文件functions
。
我想在functions
目录中有两个源文件:hello.go
和hello2.go
,并能够运行go build
产生两个二进制文件:{{ 1}}和hello
。
如何实现?
答案 0 :(得分:3)
Go软件包的作用域是每个目录。这意味着您在一个目录中只能有一个包,因此最多只能有一个“主”包。 * 。
您需要创建子目录:
go build functions/...
然后您可以通过以下方式构建它们:
{{1}}
* 从技术上讲,您完全可以通过完全滥用go工具链并指定要编译的特定go软件包来完成所需的组织,而这些软件包优先于目录中的其他文件。这仅适用于最小的程序(基本上是单个.go文件中包含的程序,或少量,易于管理的.go文件中的程序)。这将需要多个命令,此外,永远不要完成< / em>,因此我什至不打算解释如何完成。只需:永远不要这样做!
答案 1 :(得分:1)
您可以拥有2个单独的软件包,两个软件包都带有// Add a group for each cause.
var months = svg.selectAll(".month")
.data(months)
.enter().append("g")
.attr("class", "month")
.attr("xlink:title", function(d) {
return d.key; })
.attr("transform", function(d) {
return "translate(0," + y(d.offset / sum) + ")";
});
// Add a rect for each month.
var causes = months.selectAll (".cause")
.data(function(d) {
return d.values; })
.enter().append("a")
.attr("class", "month")
.attr("xlink:title", function(d) {
return d.cause + " " + d.parent.key + ": " + n(d.deaths); });
causes.append("rect")
.attr("x", function(d) {
return x(d.offset / d.parent.sum); })
.attr("width", function(d) {
return x(d.deaths / d.parent.sum); })
.attr("height", function(d) {
return y(d.parent.sum / sum); })
.style("fill", function(d) {
return color(d.cause);
});
func,然后在两个目录中发出以下命令:
main