在最近几天试图摆脱“无效的导入路径:”Atom First project / main / Extension“(build)”安装我的main.go文件时出错,但我一直无法找到错误背后的原因。
操作系统 - Windows 10
IDE - Atom
GOBIN - E:\ Github Repository \ Programming \ Golang \ bin
GOPATH - E:\ Github Repository \ Programming \ Golang
文件DIR-E:\ Github Repository \ Programming \ Golang \ src \ Atom First project \ main \ main.go
E:\ Github Repository \ Programming \ Golang \ src \ Atom First project \ main \ Extension / foo.go
main.go
package main
import (
"Atom First project/main/Extension"
)
func main() {
Extension.Extend()
}
foo.go
package Extension
import (
"fmt"
)
func Extend(){
fmt.Println("Hello from Extend func")
}
答案 0 :(得分:2)
很简单:导入路径不能包含空格。 Spec: Import declarations:
实施限制:编译器可以仅使用属于Unicode's L,M,N,P和S一般类别(不带空格的图形字符)的字符将ImportPaths限制为非空字符串,也可以排除字符!“#$%&'()*,:;< =>?[] ^`{|}和Unicode替换字符U + FFFD。
只需将您的Atom First project
文件夹重命名为例如atom-first-project
,并更改导入声明。
import (
"atom-first-project/main/Extension"
)
另请注意,程序包名称(通常是文件夹名称,但不一定是)必须是有效的Go identifier。 Spec: Package clause:
package子句开始每个源文件并定义文件所属的包。
PackageClause = "package" PackageName . PackageName = identifier .