注意事項
いわゆる遠隔倉庫はgithubのを参照して、初めての個人は、私は2時間近くを無駄にすることを、成功せず、他のクラウド・ウェアハウスの試みでMOD行きます。
あなたが最初の試みである場合、アドレスの変更をGitHubのに加えて、他のは、私は私の手順を置く理由である、そのようなディレクトリの作成など、操作の例に従いますスティックを引き出すための理由ではない、あなたは単に押しますやる成功するでしょう。
あなたはgithubの上で参照モジュールを行っていない場合は、私たちは、あなたがGOPATHを使用することができ、modはあなたにどんな影響を与えていない行く、githubのにコードを共有するつもりはありません。
githubの上のリポジトリを作成します。
https://github.com/2haodb/gomng.git
ローカルにプロジェクトをコピーして、コードを提出します
CD gitのクローンます。https:// github.com/2haodb/gomng.git CDのgomng / gitのリモート追加MNGます。https:// github.com/2haodb/gomng.git CP -rは/ opt /開発/テスト/ SRC / mod_test / 。 gitのアドオン。 gitのコミット -mを" 1.0.1 " Gitのプッシュ -u MNGマスター
コード内容
誰かがGOの使用は、GOの機能のいくつかを使用してください、あなたに事を示して言及する場合、特に面接はGOと適切なタイミングでコードの断片を書くことが求められます
@黒ルート:〜/ gomng / mod_test / メイン#のCD .. 根黒@:〜/ gomng / mod_test#のLS メインPKG1 根黒@:〜/ gomng / mod_test PKG1#CD / ブラックルート@:〜/ gomng / mod_test / PKG1#のCAT test.go PKG1のためのパッケージ変更 のインポート( " FMT " " 時間" ) FUNCテスト(){ C:メイクを=(ちゃんのstruct {}) ゴーFUNC(){ fmt.Printlnは(「私が出て行くと庭を見たいです花はまだ生きている」) time.sleep(7 * time.Second) C < - のstruct {} {} }() < - C fmt.Println(" これは誰も離れて花被、そしてそれを見ることはありません" ) }
黒@ルート:〜/ gomng / mod_test / メイン#猫main.go メインパッケージ のインポート( " github.com/2haodb/gomng/mod_test/pkg1を" ) (){メインfuncを pkg1.Test() }
実行はMODを行きます
#エコー$のGOPATH
は/ opt /コード/ gopath場合:/ opt /開発/テスト
=上の輸出GO111MODULE
CD〜/ gomng / mod_test / PKG1 / RM - 高周波go.modは MODのinitを行くgithub.com / 2haodb / gomng / mod_test / PKG1
黒@ルート:〜/ gomng / mod_test /メイン#はMODのinit github.com/2haodb/gomng/mod_test/行く主な 行く:作成新しいモジュールgithub.com/2haodb/gomng/mod_test/:go.mod メイン 黒@ルート:〜/ gomng / mod_test / メイン#LLの 合計16 drwxr -XR-X 2ルートルート4096 9月 12 18:03 ./ drwxr -XR-X 4ルートルート4096 9月 12 17:24 ../ -rw-- ----- 1ルートルート 54 9月 12 18:03 go.mod -rw-R - r--の1つのルートルート 99 9月 12 17:31 main.goの 黒@ルート:〜/ gomng / mod_test / メイン#猫go.modの モジュールgithub.com / 2haodb / gomng / mod_test / メイン 行く1.12
ハイライト - バージョン番号
言葉以下同様のgithubのでは、ページ上の緑のボタンで、MODを移動するには、この4166d71必要性のバージョン番号である次の行の位置を、クリックしてダウンロード
最新のコミット4166d71 21分前
その後、必要に対応する部分には書くことができます
モジュールgithub.com/2haodb/gomng/mod_test/のメイン github.com必要 / 2haodb / gomng / mod_test / PKG1 4166d71 行く1.12
プログラムを実行した後、自動的にVの次のバージョンに変換します
ルート@黒:〜/ gomng / mod_test /メイン#猫go.modの
モジュールgithub.com/2haodb/gomng/mod_test/main
必要github.com/2haodb/gomng/mod_test/pkg1 v0.0.0-20190912093654-4166d71402a6
1.12を行きます
サンプルを実行します
ブラック@ルート:〜/ gomng / mod_test / メインRUN main.go番号ゴー ゴー:github.com検索 / 2haodb / gomng / mod_test / PKG1 4166d71 私が出て行くと庭の花がまだ生きて見たいと思って 誰に連れ去らこの花被を、そして決して見ること のルートブラック@:〜/ gomng / mod_test / メイン#ゴーRUNはmain.go 、私は外出しないと庭の花がまだ生きて見たいと思って 、この花の誰も離れて、もはや見ますそれに
あなたが最初の実行の結果を見ることができる第二は同じではありません、これは最初に実行されるため、依存モジュールをダウンロードして行くです。
自動的にコード位置MODをダウンロード
コードが実行されると自動的にmodは$ GOPATH / PKG / MODディレクトリ、その後の実行のmodで直接参照モジュールにダウンロードしたモジュールに依存します行く。同時に、それらを見つけるために$ GOPATH / srcディレクトリの下に行くことはありません。
黒@ルート:〜 #エコー$のGOPATH は/ opt /コード/ gopath場合:/ optは/ dev / テスト・ 黒@ルート:〜#LL /opt/code/gopath/pkg/mod/github.com/2haodb/gomng/ mod_test 合計12 drwxr -XR-X 3ルートルート4096 9月 12 17:41 ./ drwxr -XR-X 3ルートルート4096 9月 12 17:41 ../ のDR -x ------ 2ルートルート4096 9月 12 17:41 "[email protected] " /
リプレイ上記のプロセスで-どこでも
@ブラックルート:/ tmpに#1は、mkdirのCCC :ブラック@ルートを/ tmp#のCCCのCD / :ブラック@ルートを/ tmp / CCC#vimのmain.go ブラック@ルート:を/ tmp /#のCCC MODに初期化github.com/2haodb/を行きますgomng / mod_test / メイン 移動:作成新しい新しいモジュールgithub.com/2haodb/gomng/mod_test/:go.mod メイン ブラック@ルートを: / tmpに/ CCC#のVimのgo.modの :ブラック@ルートを/ tmp / CCCメインRUN#ゴー.GO 行く:github.com検索 / 2haodb / gomng / mod_test / PKG1 4166d71 私は外出しないと庭の花がまだ生きて見たいと思って 、この花の誰も離れて、そして決してそれを参照してください
、メインプログラムの位置が変化したことを除いて、go.modコンテンツと前と同じmain.go
しかし、それは重要である、重要ではありませんMOD行く:あなたのプロジェクトコードは限り正しい参照githubのコードのような、どこにでも配置することができ、同様の問題を気にせずに依存関係は、あなたがプログラムを実行すると、自動的にダウンロードして行くので、地元の$ GOPATH / PKG / MODディレクトリへの依存性。
閉じるMODを行きます
輸出GO111MODULE =オフ
閉じた後、GOPATHが有効になります