[解決済み] 構造体変数をコンソールに表示するには?
2022-03-18 12:45:06
質問
を(コンソールに)出力するにはどうすればよいですか?
Id
,
Title
,
Name
Golangでこの構造体のetc.
type Project struct {
Id int64 `json:"project_id"`
Title string `json:"title"`
Name string `json:"name"`
Data Data `json:"data"`
Commits Commits `json:"commits"`
}
解決方法は?
構造体のフィールド名を表示する。
fmt.Printf("%+v\n", yourProject)
から
fmt
パッケージ
:
構造体を印刷する場合、プラスフラグ(
%+v
) はフィールド名を追加します。
これは、Projectのインスタンス('
yourProject
')
記事 JSONとGo は、JSON構造体から値を取得する方法について、より詳しく説明します。
この サンプルページで見る では、もうひとつの手法をご紹介します。
type Response2 struct {
Page int `json:"page"`
Fruits []string `json:"fruits"`
}
res2D := &Response2{
Page: 1,
Fruits: []string{"apple", "peach", "pear"}}
res2B, _ := json.Marshal(res2D)
fmt.Println(string(res2B))
そうすると、印刷されます。
{"page":1,"fruits":["apple","peach","pear"]}
インスタンスを持っていない場合は リフレクションを使う で、指定された構造体のフィールド名を表示します。 この例のように .
type T struct {
A int
B string
}
t := T{23, "skidoo"}
s := reflect.ValueOf(&t).Elem()
typeOfT := s.Type()
for i := 0; i < s.NumField(); i++ {
f := s.Field(i)
fmt.Printf("%d: %s %s = %v\n", i,
typeOfT.Field(i).Name, f.Type(), f.Interface())
}
関連
最新
-
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 実装 サイバーパンク風ボタン