Categories: GoGo 1.13编程语言

在 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

图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

图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

图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

图4

PS E:\wwwroot\go\the-way-to-go\package> go run .\package_mytest.go
ReturnStr from package1: Hello main!
Integer from package1: 42
永夜