私は新しいですが(プログラミングではありません)、言語は大好きですが、アプリケーションで内部ライブラリを作成する方法を完全に理解するのに少し問題がありますパッケージを通して。参考までに、外部パッケージを取得してからそれらをインポート/使用するのは問題ありません。アプリケーション内のローカルライブラリとファイルのインポート
その後、私はa.goかなり大きなことを始める実現ので、私は2つの部分
/home/me/A/a.go (package main)
/home/me/A/b.go (package main)
どのように午前中にそれを切るのは、私がアプリケーションAに
/home/me/A/a.go (package main)
を作ってるんだとしましょう私はその機能を利用できるようにa.goからb.goをインポート/インクルードするはずですか?
質問の続きとして、私はたくさんのオブジェクトを操作していますので、私はそれらに独自のパッケージを与え、公開/エクスポートされたAPIの機能をカプセル化すればもっと良くなると思います。それ、どうやったら出来るの ?
私は./lib/o.go
(パッケージO)とimport lib/o
を作成しようとしましたが、私は私が私のenvにはGOPATHを持っていませんが、私はexport GOPATH=$GOPATH:/home/me/A
を試み、それが結果を変えなかった
./a.go:6: imported and not used: "o"
./a.go:43: undefined: o
のようなエラーを取得しておきます。
私は「レイアウトを行く」の記事を読むことを試みたが、それは一度に少しも圧倒的な感じ、私は本当に私は
を作成しようとしていますその1つの「小さな」ステップのシンプルな説明が大好きですありがとう!
GOPATH/srcに/私/ A/a.go:
package main
func main() {
test()
}
GOPATH/srcに/私/ A/test.go:
package main
import "fmt"
func test() {
fmt.Println("test func !")
}
Execの:
$ go run a.go
# command-line-arguments
./a.go:4: undefined: test
編集:ここで私の答えを得ました:https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/qysy2bM_o1I
E実行中のすべてのファイルを一覧表示(go run a.go test.go
)するか、go build
を使用して、実行可能な実行可能ファイルを実行します。
両方のファイルが同じディレクトリにある場合、それらは1つのパッケージを形成します。同じパッケージの異なるファイルで宣言されたシンボルを取得するためのインポート文は必要ありません。 – fuz
@FUZxxl:私の質問の最後に追加した裸の例を見ることができますか?私はそれを働かせるように見えることができない、私は何かをそうしているので、明らかに間違って私を乗り越える。お返事ありがとうございます – user933740
自分自身で回答しましたが、ここで私の答えを得ました:https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/qysy2bM_o1I goで実行中のすべてのファイルをリストします( 'go a.go test。 go)を実行するか、 'go build'を使用して、実行可能な実行可能ファイルを実行します。 – user933740