【问题标题】:Golang invalid import path when importing from "main" folder从“主”文件夹导入时,Golang 导入路径无效
【发布时间】:2017-09-08 10:37:38
【问题描述】:

过去几天一直在尝试在安装我的 main.go 文件时摆脱“无效的导入路径:”Atom First project/main/Extension“(构建)”错误,但我无法找到错误背后的原因。

操作系统 - Windows 10

IDE - 原子

GOBIN - E:\Github Repository\Programming\Golang\bin

GOPATH - E:\Github Repository\Programming\Golang

文件目录-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")
}

【问题讨论】:

    标签: go import package atom-editor


    【解决方案1】:

    很简单:导入路径不能包含空格。 Spec: Import declarations:

    实现限制:编译器可以将 ImportPaths 限制为仅使用属于 Unicode's L、M、N、P 和 S 一般类别的字符(不带空格的图形字符)的非空字符串,也可以排除字符 ! "#$%&'()*,:;?[]^`{|} 和 Unicode 替换字符 U+FFFD。

    只需将您的 Atom First project 文件夹重命名为例如atom-first-project,并更改导入声明。

    import (
        "atom-first-project/main/Extension"
    )
    

    还要注意,包名(通常是文件夹名,但不一定)必须是有效的 Go identifierSpec: Package clause:

    包子句开始每个源文件并定义文件所属的包。

    PackageClause  = "package" PackageName .
    PackageName    = identifier .
    

    【讨论】:

    • 并注意 Go 包名应该全部小写。
    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 2018-02-22
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多