LoginSignup
1
0

structや定義した内容のjson:"id"などはどのような意味を持つのか

Posted at

structとは

構造体を決定するのに用いる。今回の場合だと、ユーザー情報の構造体を定義するのに用いている。

上記の内容からユーザーの情報を定義してみる

user.go
package model

import "time"

// ユーザーの構造体を定義
type User struct {
	ID        uint      `json:"id" gorm:"primaryKey"`
	Email     string    `json:"email" gorm:"unique"`
	Password  string    `json:"password"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

こちらの記事によると

投げ入れられるjson名をそのままGoの世界で扱いたくないということはよくあります。

ということがあるみたいです。理由は上記の記事に記述されてます。(こちらにも記述しておきます)

e.g. json名をGoの世界でそのまま使いたくないとき

  • プロジェクトの命名規則と異なる。
  • すでにnameという変数は使われていて名前がバッティングする。
  • nameってなんの名前のこと指してるのかわからない。わかりやすいフィールド名にしたい。

また、コード内のjson:"id" gorm:"primaryKey"の部分は、上記の構造体をjsonに変換した時に自動的にフィールド名を小文字に変換してくれる書き方です。

参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0