【已解决】GO语言开发中调用另一个库报错 cannot refer to unexported name XXXX
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