go - 从本地子目录导入包

标签 go build go-build

我是新来的,所以我希望这不会被认为是愚蠢的!

我当前的文件夹结构与此类似 enter image description here

models 文件夹中,我有 person.go

package models

//Person struct
type Person struct {
    Name   string
    Age    int
    Gender string
}

main.go 中,我喜欢导入 models,这样我就可以使用 person 结构。

    package main

import "fmt"
import "models"

func main() {
    person = Person{Name: "Ali", Age: 34, Gender: "Male"}    
    fmt.Println("person is", person)
}

当我尝试执行 go build 时,出现以下异常:

main.go:4:8: cannot find package "models" in any of: C:\Go\src\models (from $GOROOT) C:\Users\Ali\go\src\models (from $GOPATH)

我明白了,因为我当前的工作文件夹不是我的 $GOROOT,也不是 $GOPATH。事实上,我真的不想将 models 文件夹添加到这些文件夹中的任何一个。

这可能吗?

最佳答案

使用 ./models 而不是 models

但更好的解决方案是使用 go 项目目录结构。

阅读official docs

关于go - 从本地子目录导入包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53027951/

相关文章:

android - Android 上运行的 Go 程序如何访问互联网?

json - 如何解析/反序列化动态 JSON

c++ - 一键构建所有配置和平台

go - 如何防止 `go build`更新模块的最新版本

docker 多阶段构建 Go 镜像 - x509 : certificate signed by unknown authority

c++ - 指定 go build 的 C++ 版本

go - 如何检查golang中缺少的依赖项

Github项目结构

java - Gradle 构建错误

xcode - 用于使用最新 sdk 的 xcodebuild 参数。