gpt4 book ai didi

带有 2 个可执行文件的 Go 项目

转载 作者:IT王子 更新时间:2023-10-29 01:26:07 27 4
gpt4 key购买 nike

大家好,我是 Golang 的新手,我正在编写一个玩具客户端和服务器应用程序,只是为了学习这些库。

但是我有项目文件夹:

philipherron@Philips-iMac {~/workspace/gospace/src/github.com/redbrain/station} $ echo $GOPATH
/Users/philipherron/workspace/gospace

我想要 2 个二进制文件:

  • 客户端.go
  • server.go

但是当我构建时我得到:

philipherron@Philips-iMac {~/workspace/gospace/src/github.com/redbrain/station} $ go build github.com/redbrain/station/
# github.com/redbrain/station
./server.go:5: main redeclared in this block
previous declaration at ./client.go:5

我想这是因为看起来我正在用同一个包向主电源供电。

所以我尝试创建一个客户端和一个服务器子目录,并在每个子目录中都有二进制文件,但我得到:

philipherron@Philips-iMac {~/workspace/gospace/src/github.com/redbrain/station} $ go build github.com/redbrain/station/client
go install github.com/redbrain/station/client: build output "client" already exists and is a directory

我想这是因为我的布局是:

$ tree
.
├── client
│   └── client.go
└── server
└── server.go

2 directories, 4 files

不确定如何解决这个问题,如果在同一目录中拥有相同的客户端和服务器就好了,但这可能违背了我在 go 中应该做的事情?

最佳答案

只需重命名您的 .go 文件。编译器正在尝试写入“客户端”,但“客户端”已被目录占用。

$ tree
.
├── client
│ └── main.go
└── server
└── main.go

2 directories, 4 files

和/或创建一个脚本,以不同的名称输出它们 go build -o client client/main.go

关于带有 2 个可执行文件的 Go 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292133/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com