从本地子目录导入包

时间:2018-10-28 02:41:49

标签: 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:在以下任意位置都找不到包“模型”:           C:\ Go \ src \ models(来自$ GOROOT)           C:\ Users \ Ali \ go \ src \ models(来自$ GOPATH)

之所以会这样,是因为我当前的工作文件夹不是我的$GOROOT,也不是$GOPATH。实际上,我真的不想将models文件夹添加到这些文件夹中的任何一个。

这有可能吗?

1 个答案:

答案 0 :(得分:1)

使用./models代替models

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

阅读official docs