[解決済み] Go宣言の"_,"(アンダースコア・カンマ)とは何ですか?
2022-10-11 20:06:04
質問
また、このような変数の宣言が理解できないようです。
_, prs := m["example"]
"とは一体何なのか。
_,
の代わりに、なぜこのような変数を宣言したのでしょうか?
prs := m["example"]
(の一部として見つけました)。 例によって行く。地図 )
解決方法は?
戻り値のための変数をすべて宣言する必要がなくなります。
というものです。
空白の識別子
.
のように。
_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate
そうすれば、使わない変数を宣言する必要がありません。Goはそれを許さないでしょう。その代わり、'_'を使ってその変数を無視します。
(その
他の'
_
' のユースケースは、インポート
)
戻り値を破棄するので、"のように戻り値のうち1つだけを確認したい場合に便利です。 マップにキーが存在するかどうかを調べるには? で示した "。 効果的な囲碁、マップ "で表示されます。
_, present := timeZone[tz]
実際の値を気にせずにマップ内に存在するかどうかをテストするには、空白の識別子、単純なアンダースコア (
_
).
空白の識別子は、任意の型の任意の値を代入または宣言することができ、値は無害に破棄されます。
マップ内の存在をテストするために、値のための通常の変数の代わりに空白の識別子を使用します。
として Jsor は をコメントとして追加します。 :
一般的に受け入れられている標準は、メンバーシップ テスト変数 "ok" を呼び出すことです (チャンネル読み取りが有効かどうかをチェックする場合も同様)。
それによって、testと組み合わせることができます。
if _, err := os.Stat(path); os.IsNotExist(err) {
fmt.Printf("%s does not exist\n", path)
}
loopの中にもありますね。
<ブロッククオート範囲の2番目の項目(値)だけが必要な場合は、空白の識別子であるアンダースコアを使って、1番目の項目を破棄します。
sum := 0
for _, value := range array {
sum += value
}
関連
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
-
[解決済み] Pythonのシングルアンダーコア"_"変数の目的は何ですか?
-
[解決済み] Kotlinのvarとvalの違いは何ですか?
-
[解決済み】関数宣言の構文:関数名の前に括弧でくくられたもの
-
[解決済み】JavaScriptのOR(||)変数割り当ての説明
-
[解決済み】変数の値を文字列の中に入れるには?
-
[解決済み】ルーンとは何ですか?
-
[解決済み] の左辺に新しい変数がない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン