2 回答

TA貢獻1852條經驗 獲得超7個贊
根據:
Go 程序員通常將所有 Go 代碼保存在一個工作區中。
工作區包含許多版本控制存儲庫(例如,由 Git 管理)。
每個存儲庫包含一個或多個包。
每個包在一個目錄中包含一個或多個 Go 源文件。
包目錄的路徑決定了它的導入路徑。

TA貢獻1946條經驗 獲得超3個贊
對于您的項目,我會做這樣的事情:
$ tree
.
├── clientlib
│ └── lib.go
├── cmd
│ ├── client
│ │ └── main.go
│ └── server
│ └── main.go
├── go.mod
└── serverlib
└── lib.go
5 directories, 5 files
$ cat go.mod
module myproject.com
模塊名稱是任意的(可以是github.com/yourname/yourproject)。
對于服務器端:
$ cat serverlib/lib.go
package serverlib
import "fmt"
func Hello() {
fmt.Println("Hello from serverlib.Hello")
}
$ cat cmd/server/main.go
package main
import (
"fmt"
"myproject.com/serverlib"
)
func main() {
fmt.Println("Running server")
serverlib.Hello()
}
現在我們可以構建并運行它了:
$ go build -o server cmd/server/main.go
$ ./server
Running server
Hello from serverlib.Hello
客戶端看起來是對稱的。
變體:你可以用它們的實際二進制名稱命名.go文件- 比如和. 每個包中的包仍然是,但隨后無需顯式創建具有文件名(沒有 )的可執行文件。cmd/...server.goclient.gomaingo build.go-o
- 2 回答
- 0 關注
- 179 瀏覽
添加回答
舉報