VSCode中Go语言调用同一包下函数报错undefined,如何解决?

使用VSCode编写Go语言时调用同一包下的函数错误
目录结构如图
image.png
video.go调用ffmpeg.go中的NewVideo2Image报错,提示undefined
image.png
编译仍然是此处报错。
image.png
但是这些都是在同一包util中ffmpeg.go有的,源代码如下:

func NewVideo2Image() *Video2Image {
    return &videoChanger
}
func ChangeVideoDefaultSuffix(suffix string) {
    defaultVideoSuffix = suffix
}
func ChangeImageDefaultSuffix(suffix string) {
    defaultImageSuffix = suffix
}

查看ffmpeg.go中VSCode提示
image.png

image.png
重新进行go mod tidy未解决。将报错处的代码注释掉成功运行(即取消函数调用)
我的go env

set GO111MODULE=auto
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\15392\AppData\Local\go-build
set GOENV=C:\Users\15392\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\15392\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\15392\go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.22.3
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\15392\AppData\Local\Temp\go-build1891627041=/tmp/go-build -gno-record-gcc-switches
阅读 2.3k
1 个回答

没有源代码,没法复现,建议把代码上传Github再提问

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题