使用Go和'./ ...构建所有代码

Jas*_*hen 5 linux bash command-line go

根据以太坊开发者指南:

您可以使用go工具构建所有代码,将生成的二进制文件放在$ GOPATH/bin中.

go install -v ./...
Run Code Online (Sandbox Code Playgroud)

./...在以下情况下做了什么:

go install -v ./...
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 6

这将安装main在当前或子目录中找到的任何" "包,

"子目录":这就是./...语法的含义.
它不仅go install要考虑当前文件夹/包('.'),还要考虑子文件夹中的文件夹:" ..."

请参阅" 布局Go项目的合理方法是什么 ":main在库驱动的开发中,您可以拥有多个包" ":

main.go从根目录移出文件允许您从库的角度构建应用程序.您的应用程序二进制文件只是应用程序库的客户端.

有时您可能希望用户以多种方式进行交互,因此您可以创建多个二进制文件.
例如,如果您有一个允许用户一起添加数字的"adder"包,您可能希望发布命令行版本以及Web版本.
您可以通过组织这样的项目轻松完成此操作:

adder/
  adder.go
  cmd/
    adder/
      main.go
    adder-server/
      main.go
Run Code Online (Sandbox Code Playgroud)

用户可以使用省略号"go get"安装"adder"应用程序二进制文件:

$ go get github.com/benbjohnson/adder/...
Run Code Online (Sandbox Code Playgroud)

瞧,你的用户安装了"adder"和"adder-server"!

同样,a go install -v ./...也会安装"adder"和"adder-server".

注意:在-v编译包时打印包的名称.