Можно ли использовать приватные поля в моделях с go-pg?
Скажем, я хочу сделать что-то вроде:
package users
struct User {
id int64 `pg:",pk"`
handle string
}
func NewUser(string handle) *User {
return &User{0, handle}
}
func (u *User) GetID() int64 { return u.id }
func (u *User) GetHandle() string { return u.handle }
func (u *User) SetHandle(h string) { u.handle = h }
А затем использовать User
пример с go-pg:
bob = users.NewUser(`bob`)
db.Insert(bob)
Это возможно? Я вижу все примеры в go-pg wiki и документах, использующих открытые поля. Кроме того, я нигде не вижу, что указано это требование.
Я считаю, что это тот случай, когда можно читать, но не писать частные поля в структуре, но, возможно, с некоторым умным использованием хуков модели, определенных в users
Пакет это будет возможно?