【Golang】構造体の変数をターミナルで表示する方法を解説

構造体の変数をターミナルで表示するには?

Golangで、この構造体のId、Title、Nameなどを(ターミナルに)表示するにはどうすれば良いでしょうか?

type Project struct {
    Id      int64   `json:"project_id"`
    Title   string  `json:"title"`
    Name    string  `json:"name"`
}

解決方法

構造体のフィールド名を表示するには、fmtパッケージのPrintf関数を使用して次のように記述します。

fmt.Printf("%+v\n", 構造体の変数)

構造体をプリントする際、(%+v)の書式はフィールド名を追加します。

具体的なコード例

package main

import (
  "fmt"
)

type Project struct {
  Id      int64   `json:"project_id"`
  Title   string  `json:"title"`
  Name    string  `json:"name"`
}

func main() {
  project := Project{1, "title", "name"}

  fmt.Println(project)
  fmt.Printf("%+v\n", project)
}

実行結果は以下の通りです。

{1 title name}
{Id:1 Title:title Name:name}

Println関数で出力した方は構造体のkeyは表示されませんが、Printf関数と(%+v)のフォーマット書式を使用した方はkeyとvalueのどちらも表示することができました。

タイトルとURLをコピーしました