2016-12-06 18 views
-1

「タイプは、」言語のキーワードですが、私は次のように私の構造に属性名としてそれを使用する必要があります。Goの構造属性として「型」を使用するにはどうすればよいですか?

type Message struct{ 
    type string 
} 

私のIDEがエラーライン2

+1

あなたがそれを使用する必要があるのはなぜ? JSON/Yamlをアンマーシャリングしている場合は、おそらくタグを見ることができます。あなたのフィールドに別の名前をつけて、 '' json: '' ''のように単にstructタグを追加してください。 – Depado

+0

GOに別の言語のアプリケーションを書き直しています。シリアライズされたオブジェクトは同じフィールド名を持つ必要があります。私は 'json'構造体タグを使用します。 –

答えて

3

なぜtypeを使用する必要がありますか?この属性でJSONエンコードされたデータを解析する必要がある場合、あなたは次のように書くことができ

type Message struct { 
    Kind string `json:"type"` 
} 
+0

どうしてですか?実際には、それはあなたが言うように私はそれを行うことができますので、JSONシリアライズされたオブジェクトです。 –

3

typeはそう、移動中keywordで見つけましたそれを識別子として使用することはできません。別の方法として、あなたが使用することができます。

    • は、私が行くのソースコードから得たこれらのすべての Type
    • type_
    • typ

    を輸出しました。

  • +0

    私はそれのための魔法の解決策を期待していた:( –

    +0

    申し訳ありませんが、移動の唯一の魔法は魔法の不在です:) –

    1

    typeは予約語であり、識別子として使用することはできません。 Docs

    関連する問題