reflect: NumField of non-struct type,這是怎麼回事?
我定義了一個 user model:
type User struct {
Id uint `model:"id"`
Username string `model:"username"`
MobileNo string `model:"mobile_no"`
Password string `model:"password"`
Email string `model:"email"`
EmailVerified uint8 `model:"email_verified"`
CreateTime string `model:"create_time"`
UpdateTime string `model:"uptime_time"`
}
func (user *User) TableName() string {
return "user"
}
這個 user model 有實現一個 baseModel 介面。
然後我查詢資料:
user := &model.User{}
db.BuildCommand(user).FindOne()
BuildCommand:
type Command struct {
model BaseModel
sql string //最終的SQL語句
selt string //sql 的select
from string
where string
limit int
offset int
}
var c *Command
func BuildCommand(m BaseModel) *Command {
if c == nil {
c = &Command{
model: m,
}
} else {
c.model = m
}
return c
}
然後我在把查詢出來的資料寫到 user model 裡面的時候,反射 user model 結構報錯了。
panic serving [::1]:50250: reflect: NumField of non-struct type
//....
//這裡的q就是上面的*Command
refValue := reflect.ValueOf(q.model)
refType := refValue.Type()
//....
//就下面這一行報錯的。
log.Fatalln(refType.NumField())
//.....
這是怎麼回事?
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- reflect.TypeOf().numField()和reflect.ValueOf().numField()有什麼區別?
- HttpOnly是怎麼回事?HTTP
- ot 這個蛋疼的快取是怎麼回事快取
- 請高手幫我看一下這是怎麼回事
- Event Loop 原來是這麼回事OOP
- 這個code標籤怎麼回事?
- DNS快取中毒是怎麼回事?DNS快取
- packagereference 裡面的資產是怎麼回事?Package
- petstore中的machine是怎麼回事?Mac
- 原來Java的發家史是這麼回事Java
- 懂了!VMware/KVM/Docker原來是這麼回事兒Docker
- 路由器ping不通是怎麼回事?路由器
- 有些網站打不開是怎麼回事?網站
- 執行緒池是怎麼回事(附面試題)執行緒面試題
- 【Java面試】請談談AQS是怎麼回事兒?Java面試AQS
- Unreal 各種指標型別是怎麼回事Unreal指標型別
- rpm命令沒有反應是怎麼回事?
- 域名暫停解析是怎麼回事?如何恢復解析?
- 網站進入時快時慢是怎麼回事網站
- 用友裡面的形態轉換單是怎麼回事?
- 拓撲排序就這麼回事排序
- 更改授權後選單不顯示是怎麼回事?
- 軟體開發和產品經理是怎麼回事
- Python 數值中的下劃線是怎麼回事?Python
- 本地連線沒有有效的ip配置是怎麼回事
- active聯機日誌檔案到底是怎麼回事
- seam 後臺報FullTextSessionProxy的錯誤是怎麼回事呢?Session
- C#非同步程式設計是怎麼回事(番外)C#非同步程式設計
- SSL證書出錯是怎麼回事?是由哪些原因導致的?
- 機器學習其實就這麼回事兒!機器學習
- react 也就這麼回事 04 —— 元素渲染React
- type-c耳機怎麼樣?鬧劇還是商機
- 用虛擬主機 網站被暫停了是怎麼回事?網站
- 小遊戲使用者來源中的“其他”是怎麼回事?遊戲
- 聊一聊 C# 後臺GC 到底是怎麼回事?C#GC
- DNS劫持是怎麼回事?DNS劫持如何預防?(國科雲)DNS
- V8 的 typeof null 返回 "undefined" 的 bug 是怎麼回事NullUndefined
- 路由器官方宣稱的速率,到底是怎麼回事?路由器