go - 如何从不同的包中调用包

标签 go

我正在尝试从 ModelT 包中获取一个函数到我的 Controllers 包中。我看过 Call a function from another package in Go 上的例子但是它不起作用。这是我的简单代码

package ModelT
 -- Print.go
 func PrintMe() string {

     return "hello"
 }



package Controllers
-- Circle.go
import ("Yislyapp/ModelT") -- This does not work 

  func Circle_List() {
ModelT.PrintMe()
}

我的小程序不会编译说:can not resolve directory yislyapp。即使我将它更改为 Yisly-Backend/ModelTYisly-Backend./ModelT ,我也会得到同样的结果,它似乎找不到包。自从我开始以来,任何建议都会很棒。如果我把它放到我的 Go 文件 Home.go 中,它就可以工作了

import (

    "./ModelT"
)
func main() {

         ModelT.PrintMe() -- This works in my Home.go file
    }

enter image description here

最佳答案

您应该将 GOPATH 环境变量设置为 Go 项目的根目录。你的源代码应该在 $GOPATH/src 下的某个地方。包的导入路径是包目录相对于 $GOPATH/src 的路径。参见 https://golang.org/doc/code.html了解更多信息。

关于go - 如何从不同的包中调用包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291595/

相关文章:

go - 为什么/user/local/go 在 GoLand 中不被识别为 Go SDK

go - 未定义GoLang按位异或

go - 使用两个字节字符查找文件

go - 如何解析json数组结构

go - 使用Go检查目录中是否不存在文件扩展名

go - 净/http : TLS handshake timeout when call external https from google cloud

go - 在 golang 中处理列表

go - 连接器 : Error connecting to a physical device

git - 可以在git命令的go程序中设置ssh Key吗?

go - golang request.ParseForm() 是否与 "application/json"Content-Type 一起工作