gpt4 book ai didi

使用 cmd 和 pkg 布局去构建项目 - 构建错误

转载 作者:IT王子 更新时间:2023-10-29 01:38:23 25 4
gpt4 key购买 nike

我正在尝试使用 Go Project Layout 中描述的布局构建一个 Go 项目

我在 Ubuntu 上使用 go 1.9.2。我的项目布局如下

$GOPATH/src/github.com/ayubmalik/cleanprops
/cmd
/cleanprops
/main.go
/internal
/pkg
/readprops.go

文件 cmd/cleanprops/main.go 指的是 cleanprops 包,即

package main

import (
"fmt"
"github.com/ayubmalik/cleanprops"
)

func main() {
body := cleanprops.ReadProps("/tmp/hello.props")
fmt.Println("%s", body)
}

internal/pkg/readprops.go 的内容是:

package cleanprops

import (
"fmt"
"io/ioutil"
)

func check(e error) {
if e != nil {
panic(e)
}
}

func ReadProps(file string) string {
body, err := ioutil.ReadFile(file)
check(err)
fmt.Println(string(body))
return body
}

然而,当我从目录 $GOPATH/src/github.com/ayubmalik/cleanprops 中构建 cmd/cleanprops/main.go 时,使用命令:

go build cmd/cleanprops/main.go 

我收到以下错误:

cmd/cleanprops/main.go:5:2: no Go files in /home/xyz/go/src/github.com/ayubmalik/cleanprops

我错过了什么?

最佳答案

文档建议采用这种结构:

$GOPATH/src/github.com/ayubmalik/cleanprops
/cmd
/cleanprops
/main.go
/internal
/pkg
/cleanprops
/readprops.go

像这样导入包。导入路径匹配 $GOPATH/src 下面的目录结构。

package main

import (
"fmt"
"github.com/ayubmalik/cleanprops/internal/pkg/cleanprops"
)

func main() {
body := cleanprops.ReadProps("/tmp/hello.props")
fmt.Println("%s", body)
}

关于使用 cmd 和 pkg 布局去构建项目 - 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730362/

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