3therk1ll:
私は別のカスタムパッケージからの輸入印刷機能をという単純なハローワールドスタイルのプログラムを実行しようとしていますが、Goが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
同じパッケージ内にある、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