go 语言import时:cannot find package问题

1、首先需要明确自己的GOROOT是什么:

使用go env命令查看:

 go 编译器在import的时候,会去GOROOT/scr文件夹下去找被import的包,

这里就是去:E:\GO_sdk\go\src文件夹下去找;

举个例子:

当执行上图中划红线的语句时,go会将路径“GOROOT/src/my_go_project/src/gocode/project01/utils”下的.go文件全部import进来,例如:utils1.go 、utils2.go,然后这两个.go文件中的函数就可以被调用了;需要注意的是,utils1.go 和utils2.go都必须写为:package utils;

 2、一个推荐的go工程的结构应该如下:

mian文件夹下最好只包含一个mian.go文件,写为:package main;

其他文件夹下可以有多个不同命名的.go文件,以utils文件夹为例,下面包含了utils1.go 、utils2.go两个.go文件,需要注意的是,utils1.go 和utils2.go都必须写为:package utils;

同一个包(文件夹)下,不能有同名的函数,即使放在不同的.go文件中也不行;

包名和包所在的文件夹的名称可以不一致,import的时候导入的是文件夹的路径;

同一个文件夹下的所有.go文件的包名(package baoname)必须一致;


版权声明:本文为renliaoCSDN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。