golang中导包的问题

image

新手请教main文件里面导包的问题,mian包里面的main函数想用/engine/下两个文件的函数和结构体,发现用不了,手动在main文件中import导包也不好使。
简单分析:因该是我设置的问题,但是不知道问题具体在哪?
求指教,谢谢!

共 3 个回复


rocket

2种情况:
1、目录在 $GOPATH/src 下面,可以 import path/to/pkg

2、目录不在 $GOPATH/src 下面,必须用mod,(后面的修改了,抱歉,把简单的事情复杂化了)。用了module不需要使用replace指定,举个简单的例子,先初始化mod,在你的代码的顶层目录中执行下面的命令:
go mod init foo
引用子目录 lib1 (子目录中的库名字:package lib1),只需要这样:
import foo/lib1

# 0

weipl

谢谢,没理解你的意思(1、import path/to/pkg 2、go.mod).不过我自己看看.我看了image.png 然后,修改了goland->settings中设置.image.png结果显示ok.我之前看别人blog理解把GOPATH放到项目目录,我现在把GOPATH设置为g的,项目设置为project GOPATH.最后结果好了.image.png

# 1

zz001357

是不是你main函数放错位置了

# 2