新聞中心
?Scan?方法支持將查詢結(jié)果轉(zhuǎn)換為結(jié)構(gòu)體或者結(jié)構(gòu)體數(shù)組,?Scan?方法將會根據(jù)給定的參數(shù)類型自動識別執(zhí)行的轉(zhuǎn)換類型。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臨澤企業(yè)網(wǎng)站建設(shè),臨澤品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨澤網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨澤網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
struct對象
?Scan?支持將查詢結(jié)果轉(zhuǎn)換為一個?struct?對象,查詢結(jié)果應(yīng)當(dāng)是特定的一條記錄,并且?pointer?參數(shù)應(yīng)當(dāng)為?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)前兩種方式都是預(yù)先初始化對象(提前分配內(nèi)存),推薦的方式:
var user *User
g.Model("user").Where("id", 1).Scan(&user)這種方式只有在查詢到數(shù)據(jù)的時候才會執(zhí)行初始化及內(nèi)存分配。注意在用法上的區(qū)別,特別是傳遞參數(shù)類型的差別(前兩種方式傳遞的參數(shù)類型是?*User?,這里傳遞的參數(shù)類型其實是?**User?)。
struct數(shù)組
?Scan?支持將多條查詢結(jié)果集轉(zhuǎn)換為一個?[]struct/[]*struct?數(shù)組,查詢結(jié)果應(yīng)當(dāng)是多條記錄組成的結(jié)果集,并且?pointer?應(yīng)當(dāng)為數(shù)組的指針地址,使用方式例如:
var users []User
g.Model("user").Scan(&users)或者
var users []*User
g.Model("user").Scan(&users) 文章題目:創(chuàng)新互聯(lián)GoFrame教程:GoFrame數(shù)據(jù)查詢-Scan
分享地址:http://m.fisionsoft.com.cn/article/djjecch.html


咨詢
建站咨詢
