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.go
와 main.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