問題タブ [go]
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.
makefile - go のマルチパッケージ makefile の例
次のようなマルチパッケージのgoプロジェクトをセットアップしようとしています
./main.go
./subpackage1/sub1_1.go
./subpackage1/sub1_2.go
./subpackage2/sub2_1.go
./subpackage2/sub2_2.go
ここで、main.go は subpackage1 と subpackage2 の両方をインポートします。そして、subpackage2 は subpackage1 をインポートします。
go makefile の例を探していますが、この種のセットアップをサポートするものは見つかりません。何か案が?
gcc - Ubuntu 9.10カルマでのgccgoリンクエラー?
gccgoを使用してgoファイルをコンパイルしようとしています。ubuntu9.10マシンにインストールしました。コンパイルしたとき
リンクして実行可能ファイルを作成しようとすると、hello.oファイルが生成されます
$ gccgo -o hello hello.o
次のエラーが発生します
私は何かが足りないのですか?、環境にLD_LIBRARY_PATHも設定しました。ありがとう
go - エクスポートされたフィールドを持つプライベートタイプ
goチュートリアルの2日目には、次の演習があります。
エクスポートされたフィールドを持つプライベートタイプがあると便利なのはなぜですか?
例えば:
point
は小文字であるためエクスポートされないのに対し、フィールドXとYは大文字であるためエクスポートされることに注意してください。エクスポートされたフィールドの1つにアクセスするには、次のようなものを記述できる必要があるように思われます。
しかし、それを可能にするためには、pは次のような宣言を持っている必要があります。
また
ただし、pointの型宣言はエクスポートされないため、これは不可能です(afaik)。
go - 機能実装インターフェース
ここで何が起こっているのか知りたいです。
httpハンドラーのインターフェースは次のとおりです。
この実装は私が理解していると思います。
私の理解では、タイプ「Counter」は必要な署名を持つメソッドを持っているため、インターフェースを実装しているということです。ここまでは順調ですね。次に、この例を示します。
誰かがこれらのさまざまな機能がなぜまたはどのように組み合わされるのかについて詳しく説明できますか?
methods - レシーバー自体を返すメソッド (Go) の目的は何ですか?
pkg go/token のこの関数は、レシーバ自体を返すメソッドが必要な理由を不思議に思います。
go - Goで構造体の中にベクトルを入れるにはどうすればよいですか?
Google の Go プログラミング言語の構造体の中にベクトル変数を入れようとしています。これは私がこれまでに持っているものです:
欲しい:
もつ:
ベクトルをメイン関数で問題なく動作させることができますが、使いやすいように構造体内にカプセル化したいと考えています。
python - Pythonで*.pyファイルを解析する方法は?
PythonからGoへの基本的なソースコードコンバーターを作成するために、Pythonソースを解析したいと思います。
- どのモジュールを使用する必要がありますか?
- 先に進むべきかどうか?
- 続行する必要がある場合、どのように?
memory - 共有メモリとメッセージパッシングは、大きなデータ構造をどのように処理しますか?
Go と Erlang の並行処理へのアプローチを調べていると、どちらもメッセージ パッシングに依存していることに気付きました。
このアプローチでは、共有状態がないため、明らかに複雑なロックの必要性が軽減されます。
ただし、多くのクライアントがメモリ内の単一の大きなデータ構造 (サフィックス配列など) への並列読み取り専用アクセスを必要としている場合を考えてみましょう。
私の質問:
データは読み取り専用で、1 つの場所に存在するだけでよいため、ロックはほとんど不要になるため、共有状態を使用すると、メッセージ パッシングよりも高速でメモリ使用量が少なくなりますか?
この問題は、メッセージ パッシング コンテキストでどのようにアプローチされるでしょうか? データ構造にアクセスできる単一のプロセスがあり、クライアントはそこからデータを順番に要求するだけでよいでしょうか? または、可能であれば、チャンクを保持するいくつかのプロセスを作成するために、データをチャンクにしますか?
最新の CPU とメモリのアーキテクチャを考えると、2 つのソリューションに大きな違いはありますか? つまり、共有メモリを複数のコアで並列に読み取ることができますか? つまり、両方の実装がほぼ同じように動作するハードウェアのボトルネックがないということです。
string - Goでnull可能な文字列パラメータを持つ関数を持つ方法は?
私は Java の String に慣れており、デフォルト値を使用するなどの特別な意味で "" ではなく null を渡すことができます。
Go では文字列はプリミティブ型なので、文字列を必要とするパラメータに nil (ヌル) を渡すことはできません。
次のように、ポインター型を使用して関数を作成できます。
そのため、呼び出し元はその関数を次のいずれかとして呼び出すことができます
また
ただし、残念ながら次のことは許可されていません。
文字列または nil のいずれかを受け取るパラメーターを持つ最良の方法は何ですか?