【已解决】GO语言开发中调用另一个库报错 cannot refer to unexported name XXXX

发布时间 2023-06-25 10:12:52作者: 河北大学-徐小波
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