構造体の変数をターミナルで表示するには?
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のどちらも表示することができました。