在学习golang时,很容易遇到导包报错问题,今天在vscode上编写golang代码时,导入本地包时,一直报错,代码如下:
两种方式:
- 1.关闭模块管理 go env -w GO111MODULE=off
2. 修改导包路径 “../xxx”
1.先排查自己的golang的环境设置(直接在终端输入),是否开启模块管理
go env
查看GO111MODULE 是否开启,因为我的module管理是关闭的,就排除这个问题。
PS F:\GOPROJECT\src\go_code\chapter11\encapsulate\main> go env
set GO111MODULE=off
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\87660\AppData\Local\go-build
set GOENV=C:\Users\87660\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set AR=ar
set CC=gcc
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
如果你的GO111MODULE=on,执行下面代码关闭
go env -w GO111MODULE=off
在执行代码,看是否可以正常执行。
由于我的模块管理已经关了,所以只能从包的路径开始排查。
2.各种尝试都不行之后,我尝试第二种方法
我把包的路径换成“../model”,竟然神奇的修复了。
如果也遇到类似问题小伙伴,可以试试这两种方式处理。