下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第GoFrame框架Scan類型轉(zhuǎn)換實(shí)例目錄前言方法定義自動(dòng)識(shí)別轉(zhuǎn)換Struct結(jié)構(gòu)體示例代碼運(yùn)行結(jié)果自動(dòng)識(shí)別轉(zhuǎn)換Struct數(shù)組示例代碼運(yùn)行結(jié)果自動(dòng)識(shí)別轉(zhuǎn)換Map示例代碼運(yùn)行結(jié)果自動(dòng)識(shí)別轉(zhuǎn)換Map數(shù)組示例代碼運(yùn)行結(jié)果總結(jié)
前言
Scan轉(zhuǎn)換方法可以實(shí)現(xiàn)對(duì)任意參數(shù)到struct/struct數(shù)組/map/map數(shù)組的轉(zhuǎn)換,并且根據(jù)開(kāi)發(fā)者輸入的轉(zhuǎn)換目標(biāo)參數(shù)自動(dòng)識(shí)別執(zhí)行轉(zhuǎn)換。
方法定義
//ScanautomaticallycallsMapToMap,MapToMaps,StructorStructsfunctionaccordingto
//thetypeofparameter`pointer`toimplementtheconverting.
//ItcallsfunctionMapToMapif`pointer`istypeof*maptodotheconverting.
//ItcallsfunctionMapToMapsif`pointer`istypeof*[]map/*[]*maptodotheconverting.
//ItcallsfunctionStructif`pointer`istypeof*struct/**structtodotheconverting.
//ItcallsfunctionStructsif`pointer`istypeof*[]struct/*[]*structtodotheconverting.
funcScan(paramsinterface{},pointerinterface{},mapping...map[string]string)(errerror)
自動(dòng)識(shí)別轉(zhuǎn)換Struct結(jié)構(gòu)體
示例代碼
packagemain
import(
"/gogf/gf/frame/g"
"/gogf/gf/util/gconv"
funcmain(){
typeUserstruct{
Uidint
Namestring
params:=g.Map{
"uid":1,
"name":"王中陽(yáng)",
varuser*User
iferr:=gconv.Scan(params,user);err!=nil{
panic(err)
g.Dump(user)
運(yùn)行結(jié)果
自動(dòng)識(shí)別轉(zhuǎn)換Struct數(shù)組
packagemain
import(
"/gogf/gf/frame/g"
"/gogf/gf/util/gconv"
funcmain(){
typeUserstruct{
Uidint
Namestring
params:=g.Slice{
g.Map{
"uid":1,
"name":"優(yōu)弧",
g.Map{
"uid":2,
"name":"船長(zhǎng)",
varusers[]*User
iferr:=gconv.Scan(params,amp;users);err!=nil{
panic(err)
g.Dump(users)
自動(dòng)識(shí)別轉(zhuǎn)換Map
packagemain
import(
"/gogf/gf/frame/g"
"/gogf/gf/util/gconv"
funcmain(){
var(
usermap[string]string
params=g.Map{
"uid":1,
"name":"王中陽(yáng)",
iferr:=gconv.Scan(params,user);err!=nil{
panic(err)
g.Dump(user)
自動(dòng)識(shí)別轉(zhuǎn)換Map數(shù)組
packagemain
import(
"/gogf/gf/frame/g"
"/gogf/gf/util/gconv"
funcmain(){
var(
users[]map[string]string
params=g.Slice{
g.Map{
"uid":1,
"name":"優(yōu)弧",
g.Map{
"uid":2,
"name":"船長(zhǎng)",
iferr:=gconv.Scan(params,users);err!=nil{
panic(err)
g.Dump(users)
總結(jié)
我們使用Go語(yǔ)言的開(kāi)發(fā)過(guò)程中,json數(shù)據(jù)和結(jié)構(gòu)體的轉(zhuǎn)換是經(jīng)常遇到的。
GoFrame為我們封裝了Scan轉(zhuǎn)換方法可以實(shí)現(xiàn)對(duì)任意參數(shù)到struc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山泉小學(xué)教學(xué)常規(guī)管理制度(3篇)
- 項(xiàng)目管理制度及格式范文(3篇)
- 茶室品茗活動(dòng)策劃方案(3篇)
- 教育管理制度學(xué)習(xí)體會(huì)(3篇)
- 2026年河北唐山中心醫(yī)院腎內(nèi)科急聘英才1名考試參考試題及答案解析
- 2026年福建莆田礪志高級(jí)中學(xué)多學(xué)科教師招聘若干人備考考試題庫(kù)及答案解析
- 海南儋州市2026屆教育部直屬師范大學(xué)公費(fèi)師范畢業(yè)生供需見(jiàn)面招聘24人(一)備考考試題庫(kù)及答案解析
- 2026北京航空航天大學(xué)集成電路科學(xué)與工程學(xué)院聘用編科研助理F崗招聘1人備考考試題庫(kù)及答案解析
- 2025湖南郴州市永興縣基層醫(yī)療衛(wèi)生單位招聘專業(yè)技術(shù)人員選崗15人備考考試題庫(kù)及答案解析
- 2026北京北化化學(xué)科技有限公司招聘15人考試備考題庫(kù)及答案解析
- 2024-2025學(xué)年廣東省實(shí)驗(yàn)中學(xué)高一(上)期中語(yǔ)文試卷
- DB34T 1948-2013 建設(shè)工程造價(jià)咨詢檔案立卷標(biāo)準(zhǔn)
- 鋼鐵制造的工藝流程(內(nèi)部資料)課件
- DB31-T 1448-2023 監(jiān)獄場(chǎng)所消防安全管理規(guī)范
- 公司干部調(diào)研方案
- 無(wú)糾紛自愿離婚協(xié)議書
- 四川省高等教育自學(xué)考試畢業(yè)生登記表【模板】
- 專題五 以新發(fā)展理念引領(lǐng)高質(zhì)量發(fā)展
- GB/T 22417-2008叉車貨叉叉套和伸縮式貨叉技術(shù)性能和強(qiáng)度要求
- GB/T 1.1-2009標(biāo)準(zhǔn)化工作導(dǎo)則 第1部分:標(biāo)準(zhǔn)的結(jié)構(gòu)和編寫
- 長(zhǎng)興中學(xué)提前招生試卷
評(píng)論
0/150
提交評(píng)論