W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
?Scan
?方法支持將查詢結果轉換為結構體或者結構體數(shù)組,?Scan
?方法將會根據(jù)給定的參數(shù)類型自動識別執(zhí)行的轉換類型。
?Scan
?支持將查詢結果轉換為一個?struct
?對象,查詢結果應當是特定的一條記錄,并且?pointer
?參數(shù)應當為?struct
?對象的指針地址(?*struct
?或者?**struct
?),使用方式例如:
type User struct {
Id int
Passport string
Password string
NickName string
CreateTime *gtime.Time
}
user := User{}
g.Model("user").Where("id", 1).Scan(&user)
或者
var user = User{}
g.Model("user").Where("id", 1).Scan(&user)
前兩種方式都是預先初始化對象(提前分配內(nèi)存),推薦的方式:
var user *User
g.Model("user").Where("id", 1).Scan(&user)
這種方式只有在查詢到數(shù)據(jù)的時候才會執(zhí)行初始化及內(nèi)存分配。注意在用法上的區(qū)別,特別是傳遞參數(shù)類型的差別(前兩種方式傳遞的參數(shù)類型是?*User
?,這里傳遞的參數(shù)類型其實是?**User
?)。
?Scan
?支持將多條查詢結果集轉換為一個?[]struct/[]*struct
?數(shù)組,查詢結果應當是多條記錄組成的結果集,并且?pointer
?應當為數(shù)組的指針地址,使用方式例如:
var users []User
g.Model("user").Scan(&users)
或者
var users []*User
g.Model("user").Scan(&users)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: