소스 파일을 찾을 수 없습니다 실행 / 빌드를 이동

3therk1ll :

나는 수입 별도의 사용자 정의 패키지에서 인쇄 기능 만 이동이 TEH 올바른에도 불구하고 그것을 발견 할 수 없다는 간단한 안녕 세계 스타일의 프로그램을 실행하려고 $GOPATH등 설정중인.

무엇 TEH 파일이 뽑힐 그 것없는?

etherk1ll@ubuntu:~/Development/GoWorkSpace/src/sonarparser$ echo $GOPATH 
/home/etherk1ll/Development/GoWorkSpace/
etherk1ll@ubuntu:~/Development/GoWorkSpace/src/sonarparser$ pwd
/home/etherk1ll/Development/GoWorkSpace/src/sonarparser
etherk1ll@ubuntu:~/Development/GoWorkSpace/src/sonarparser$ ls
jsonparser.go  main.go
etherk1ll@ubuntu:~/Development/GoWorkSpace/src/sonarparser$ go run main.go 
main.go:5:2: cannot find package "sonarparser/jsonparser" in any of:
    /usr/local/go/src/sonarparser/jsonparser (from $GOROOT)
    /home/etherk1ll/Development/GoWorkSpace/src/sonarparser/jsonparser (from $GOPATH)

main.go

package main

import (
    "fmt"
    "jsonparser"
)

func main() {
    fmt.Println("Hello world 1")
    fmt.Println(jsonparser.HelloTwo)
}

jsonparser.go

package jsonparser

import "fmt"

func HelloTwo() {
    fmt.Println("Hello world 2")
}
hqt :

때문에 jsonparser.gomain.go같은 패키지에있는, 이동은 동일한 패키지 이름을 가지고 그 파일이 필요합니다. 당신은 실행을위한 주요 기능을 정의하기 때문에, 패키지는 "주요"해야합니다.

1 단계 : 당신의 이름을 변경해야합니다 그래서 jsonparser.go에의 패키지를 main.

// jsonparser.go
package main

import "fmt"

func HelloTwo() {
    fmt.Println("Hello world 2")
}

2 단계 : 당신은 업데이트에 필요한 main.go수입 경로를 수정하는 파일 :

// main.go
package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello world 1")
    HelloTwo()
}

3 단계 : 그런 다음 다음 명령을 실행 (명령에 필요한 모든 파일을 포함해야 함)

go run main.go jsonparser.go

추천

출처http://10.200.1.11:23101/article/api/json?id=415044&siteId=1