問題タブ [go-packages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - ネストされたパッケージが見つかりません
次の構造のプロジェクトがあります。
$GOPATH を/home/dev/dev/go
これに設定するserver.go
と、パッケージとインポートに名前が付けられます。
これはservices.go
:
これはexch.go
次のとおりです。
現在、正常にserver.go
インポートされますが、見つかりません。インポートパスをいくつかの方法で変更しようとしましたが、うまくいきません。何か不足していますか?package services
services.go
package exch
/myapp が次の場所にあることを知っておくと役立つ場合があります: /home/dev/dev/go/src
go - パッケージのインポート パスからパッケージ ソースへのフル パスを取得する
現在、私はのようなパラメータを持っていますstr := "github.com/pkg/errors"
。パッケージへのフルパスが必要です。
現在、これを達成する方法は、を使用することbuild.Default.GOPATH+"/src/"+str
です。
インポートへのフルパスを解決するためのネイティブで非ハッキーな方法はありますか(vendor
フォルダーなどにある可能性があります...)。
go - ローカル Go パッケージを最新の状態に保つ簡単な方法はありますか
さまざまなプロジェクトにインポートする複数のパッケージを使用しています。これらは、ラムダと Google のクラウド機能やその他のパブリック パッケージで共有されるビジネス ロジック用のカスタム アダプターにまで及びます。私が今これを行う方法は、それらをベンダーにしてクラウド機能に含めることです。コンパイルして VM にデプロイできるアプリケーションについては、個別にコンパイルします。これは私にとってはうまくいきますが、これらのモジュールを開発するのは面倒です。
パッケージ内のメソッド シグネチャと名前を更新する場合、変更を github / gitlab (私のパッケージ パスは gitlab.com/groupName/projectName/pkg/packageName のようなものです) にプッシュしてgo get -u <pacakgeName>
から、パッケージを更新するために a を実行する必要があります。
これも、実際には更新されません。更新方法がわからない古いバージョンで立ち往生することがあります。これで作業する簡単な方法はありますか?
明確にするために:
エクスポートされたパッケージ 1 パス: gitlab.com/some/name/group/pkg/clients/psql
アプリケーション 1 は psql-client パスを使用します: gitlab.com/some/name/app1
アプリケーション 2 は psql-client パスを使用します: gitlab.com/some/name/app2