在 Go 中报错:package_mytest.go:5:2: cannot find package “.” in: E:\wwwroot\go\the-way-to-go\package\pack1 的解决
1、在 Go 中报错:package_mytest.go:5:2: cannot find package “.” in: E:\wwwroot\go\the-way-to-go\package\pack1。如图1
PS E:\wwwroot\go\the-way-to-go\package> go run .\package_mytest.go package_mytest.go:5:2: cannot find package "." in: E:\wwwroot\go\the-way-to-go\package\pack1
2、查看 pack1.go 的代码
package pack1 var Pack1Int int = 42 var pack1Float = 3.14 func ReturnStr() string { return "Hello main!" }
3、查看 package_mytest.go 的代码
package main import ( "fmt" "./pack1" ) func main() { var test1 string test1 = pack1.ReturnStr() fmt.Printf("ReturnStr from package1: %s\n", test1) fmt.Printf("Integer from package1: %d\n", pack1.Pack1Int) // fmt.Printf("Float from package1: %f\n", pack1.pack1Float) }
4、查看环境变量 – Administrator 的用户变量 – GOPATH,其值为:C:\Users\Administrator\go,如图2
5、编译并安装一个包。复制 pcak1.go 至 C:\Users\Administrator\go\src\pack1\pack1.go。通过指令编译并安装包到本地:go install pack1, 这会将 pack1.a 复制到 C:\Users\Administrator\go\pkg\windows_amd64 下面。如图3
PS C:\Users\Administrator\go> cd .\src\pack1\ PS C:\Users\Administrator\go\src\pack1> ls 目录: C:\Users\Administrator\go\src\pack1 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2020/06/23 19:23 114 pack1.go PS C:\Users\Administrator\go\src\pack1> go install pack1 PS C:\Users\Administrator\go\src\pack1> cd .. PS C:\Users\Administrator\go\src> cd .. PS C:\Users\Administrator\go> cd .\pkg\windows_amd64\ PS C:\Users\Administrator\go\pkg\windows_amd64> ls 目录: C:\Users\Administrator\go\pkg\windows_amd64 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2019/12/27 17:01 golang.org -a---- 2020/07/02 19:30 1216 pack1.a -a---- 2020/07/02 19:20 1592 uc.a
6、运行:go run .\package_mytest.go,执行成功,”./pack1″ 调整为 “pack1” 也是可以执行成功的。如图4
PS E:\wwwroot\go\the-way-to-go\package> go run .\package_mytest.go ReturnStr from package1: Hello main! Integer from package1: 42
近期评论