1.json.Marshal の戻り値の変換
json.Marshal の戻り値の1つ目は byte 型なので、string型にtype assertionする
2.Type Assertion(型アサーション)
・「型キャスト」と呼ばれない理由
キャストは一般的に何らかのランタイムサポートを意味する。
それに対し、型アサーションは純粋にコンパイル時の構造体である。
つまり、コードをどのように解析するかについてのヒントをコンパイラに提供するための方法にすぎない。
3.code
type Users_s struct { Id string `json:"id"` Sub_id string `json:"sub_id"` Attr string `json:"attr"` } ・・・ var users Users_s bytes, _ := json.Marshal(attr); users.Attr = string(bytes);