いくつかのフィールドが不足して定義された構造体ならば、私はMySQLの書かれたシンプルなORMしようとした、私は、問題しまっ:ユーザーのGoで安全にstructのゼロの値を検出する方法は?
type User struct {
ID int64
Username string
Password string
Email string
Comment string
}
var u = User{Username: "user_0001", Password: "password"}
一部のフィールドに値が与えられていなかった、それは価値がゼロ化されたことになるのです値は、文字列""
、ブールfalse
、整数0
などです。
フィールド名と値を取得するのにreflect
を使用しています.SQLを生成して行を挿入します。
INSERT INTO User (Id, Username, Password, Email, Comment) Values (0, "user_0001", "password", , ,)
あなたは私が空の文字列""
を検出し、それらをスキップした場合、私は正常値を飛ばして、文字列の一部のゼロ化された値が存在している見ることができます。