2017-09-08 11 views
-1

"잘못된 가져 오기 경로"를 제거하기 위해 지난 며칠 동안 노력했습니다. main.go을 설치할 때 Atom First project/main/Extension "(빌드)"오류가 발생했습니다. 파일하지만 오류 뒤에 이유를 찾을 수 없습니다."main"폴더에서 가져올 때 Golang 가져 오기 경로가 잘못되었습니다

OS - 윈도우 10

IDE - 아톰

GOBIN - E : Github의 저장소 \ \ 프로그래밍 \ Golang가 빈 \

GOPATH - E : \ Github의 저장소 \ 프로그래밍 \ Golang

파일 DIR- E : \ Github 저장소 \ 프로그래밍 \ 골란 \ src \ Atom 첫 번째 프로젝트 \ main \ main.go

E : \ Github 저장소 \ 프로그래밍 \ 골란 \ src \ Atom First 프로젝트 \ 주 \ 확장이/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") 
} 

답변

2

그것은 간단합니다 : 수입 경로는 공백을 포함 할 수 없습니다. Spec: Import declarations:

구현 제한 : 컴파일러가 Unicode's L에 속하는 문자들만을 사용하여 비어 스트링 ImportPaths을 제한 할 수 있고, M, N, P 및 S 일반 카테고리 (공백없이 그래픽 문자) 및도 배제 할 수있다 문자 "# $으로의 % & '() *, :;!?. < => [] ^`{|} 및 유니 코드 대체 문자 U + FFFD

간단히, atom-first-project을 예하기 위해 Atom First project 폴더 이름을 변경하고 수입 신고서를 변경하십시오.

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

패키지 이름 (보통 폴더 이름이지만 반드시 그런 것은 아니지만)은 유효한 identifier이어야합니다. Spec: Package clause:

패키지 절은 각 소스 파일을 시작 파일이 속한 패키지를 정의합니다.

PackageClause = "package" PackageName . 
PackageName = identifier . 
+0

Go 패키지 이름은 모두 소문자 여야합니다. – Adrian