Go で (操作の一部として) ユーザーからパスワードを取得する必要があるコマンドライン ユーティリティを作成しています。これを行う Unix 用の優れたgopass
モジュールがあり、Windows コンソール用のモジュールを作成する方法を知っています。問題は、Windows モジュールが明らかに *nix 上でビルドされず、*nix バージョンが Windows 上でビルドされないことです。Go にはプリプロセッサのサポートがないため (私が知る限り)、これにアプローチする正しい方法が何であるかはまったくわかりません。Go自体が独自のライブラリに対してこれを行う必要があるため、それが可能であることはわかっていますが、私が慣れているツール(条件付きインポート/プリプロセッサ/など)が不足しているようです.
質問する
230 次
1 に答える
8
Go にはビルド制約があり、.go ファイル内のコメントとして、またはファイル名の一部として指定できます。
制約の 1 つのセットはターゲット オペレーティング システム用であるため、Windows 用に 1 つのファイル、Linux 用に 1 つのファイルを用意し、2 つの異なる方法で同じ関数を実装できます。
ビルド制約の詳細については、 http: //golang.org/pkg/go/build/#hdr-Build_Constraintsを参照してください。
于 2013-05-24T15:39:07.933 に答える