2017-09-12 14 views
1

私は空白の識別子の使用を理解するのが少し難しいと思っています。私はeffective goを見て、彼らが記述するユースケースのほとんどを理解するが、その後、私はルートハンドラ関数でこの出くわしたチュートリアルを見てきました:最初の行になぜGoで空白の識別子を使用するのですか?

var person Person 
_ = json.NewDecoder(req.Body).Decode(&person) 

我々は、タイプの新しい空の変数を作成します人(以前に定義された構造体)と、私は

  • &personDecode機能
0によりデータで充填する
  • 、参照によりに人物VARを通過していると仮定

    この関数は、その後、jsonレスポンスをエンコードして返す前に、さらにいくつかのタスクを実行します。

    なぜ、空の識別子にデコードを割り当てる必要がありますか?ちょうどjson.NewDecoder(req.Body).Decode(&person)を実行できませんでしたか?私たちができなければ、どうしてですか?

  • +7

    そこには必要はありませんが、著者は誤ってエラー値を無視していることを示すためにそこに配置している可能性があります。 – JimB

    +0

    大丈夫ですが、このように適用された場合、すべての戻り割り当てが単一の空白の識別子で無視されますか?私は悪い練習の例のように、それらのうちの1つだけを無視すると思った。 – pushplaybang

    +0

    私は正直にこの質問の閉鎖に投票できない。 OPはベストプラクティスへの洞察を求めています。 –

    答えて

    1

    私はあなたがゴランを学んでいると仮定しています。なぜこの例でこのプラクティスを使用したのか分からないからです。

    @JimBがコメントに記載されているように、例の作者はこれを行う必要はありませんでした。単にエラーリターンを無視しているだけです。

    +2

    この回答は、それが参照するコメントよりも少ない情報を含んでいるようです。 – pvg

    +0

    thats正確に、1日目のnoobは、上記の私のコメントごとに1つの空白の識別子は、このように適用されたすべての戻り値の割り当てを無視しますか?私は効果的なgo、fi:_ os.Stat(パス)の悪い練習の例のように、それらのうちの1つだけを無視すると思った。 – pushplaybang

    +2

    @pushplaybang:これと元々の質問は、 。 – JimB

    関連する問題