【已解决】GO语言开发中调用另一个库报错 cannot refer to unexported name XXXX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package main import ( "fmt" "study_gos/main/kehu" ) / / 使用了go.mod / / GOPATH ;D:\workspace\studys\study_gos / / cd / d / workspace / studys / study_gos / src / / go env - w GO111MODULE = on / / go mod init study_gos / / go mod tidy / / 跳过go get 失败 / / go env - w GOPROXY = https: / / goproxy.cn,direct func main() { / / / / Go模块中要导出的函数,首字母必须大写。 kehu.kehu_test() fmt.Println( "OK\n" ) } |
报错:main\main.go:21:2: cannot refer to unexported
解决:
原因:Go模块中要导出的函数,首字母必须大写。
修改后:
package main import ( "fmt" "study_gos/main/kehu" ) //使用了go.mod //GOPATH ;D:\workspace\studys\study_gos //cd /d/workspace/studys/study_gos/src //go env -w GO111MODULE=on //go mod init study_gos //go mod tidy //跳过go get 失败 //go env -w GOPROXY=https://goproxy.cn,direct func main() { ////Go模块中要导出的函数,首字母必须大写。 kehu.Kehu_test() fmt.Println("OK\n") }
执行结果:
另外go还有一些特殊的要求,src下不能直接放.go文件,奇葩的要求我真想骂人
参考:https://blog.csdn.net/weixin_30483697/article/details/97445176
本文来自博客园,作者:河北大学-徐小波,转载请注明原文链接:https://www.cnblogs.com/xuxiaobo/p/17502252.html

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步