在 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




近期评论