[發(fā)明專(zhuān)利]結(jié)構(gòu)體賦值方法、賦值器及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202111237304.6 | 申請(qǐng)日: | 2021-10-25 |
| 公開(kāi)(公告)號(hào): | CN113672311A | 公開(kāi)(公告)日: | 2021-11-19 |
| 發(fā)明(設(shè)計(jì))人: | 譚洪斌 | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳市明源云采購(gòu)科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/448 | 分類(lèi)號(hào): | G06F9/448 |
| 代理公司: | 深圳市恒程創(chuàng)新知識(shí)產(chǎn)權(quán)代理有限公司 44542 | 代理人: | 趙正琪 |
| 地址: | 518000 廣東省深圳市南山區(qū)粵海街道高新區(qū)社區(qū)高新南四道*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 結(jié)構(gòu) 賦值 方法 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開(kāi)了一種結(jié)構(gòu)體賦值方法、賦值器及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述結(jié)構(gòu)體賦值方法為:賦值變量的類(lèi)型包括了map類(lèi)、struct類(lèi)或者指向struct的指針,通過(guò)對(duì)賦值變量中每個(gè)字段的遍歷,將賦值變量中單個(gè)字段的值賦值給被賦值變量中與單個(gè)字段對(duì)應(yīng)的Field的值,從而完成整個(gè)賦值變量對(duì)被賦值變量的賦值,實(shí)現(xiàn)結(jié)構(gòu)體給結(jié)構(gòu)體賦值(struct to struct)和集合給結(jié)構(gòu)體賦值(map to struct),還通過(guò)將賦值變量或者被賦值變量中值的數(shù)據(jù)類(lèi)型進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)類(lèi)型不同的值之間的賦值功能,滿(mǎn)足了用戶(hù)在面對(duì)更多應(yīng)用場(chǎng)景時(shí)靈活賦值的需求。
技術(shù)領(lǐng)域
本發(fā)明涉及go語(yǔ)言編程領(lǐng)域,尤其涉及一種結(jié)構(gòu)體賦值方法、賦值器及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
在Go語(yǔ)言(Go是一種為高并發(fā)而生的高級(jí)編程語(yǔ)言)里,因?yàn)楣俜綐?biāo)準(zhǔn)庫(kù)里沒(méi)有針對(duì)結(jié)構(gòu)體賦值(struct to struct)提供開(kāi)箱即用package,而在當(dāng)前互聯(lián)網(wǎng)行業(yè)中常用開(kāi)源項(xiàng)目copier對(duì)結(jié)構(gòu)體進(jìn)行賦值,但它所具備的主要功能沒(méi)有包含集合給結(jié)構(gòu)體賦值(mapto struct),因此現(xiàn)有技術(shù)無(wú)法滿(mǎn)足用戶(hù)在面對(duì)更多應(yīng)用場(chǎng)景時(shí)靈活賦值的需求。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種結(jié)構(gòu)體賦值方法,旨在解決現(xiàn)有技術(shù)無(wú)法滿(mǎn)足用戶(hù)在面對(duì)更多應(yīng)用場(chǎng)景時(shí)靈活賦值的需求的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種結(jié)構(gòu)體賦值方法,所述結(jié)構(gòu)體賦值方法包括以下步驟:
獲取賦值變量的reflect.Value對(duì)象,并根據(jù)所述賦值變量的reflect.Value對(duì)象判斷所述賦值變量的數(shù)據(jù)類(lèi)型是否為map類(lèi)、struct類(lèi)或者指向struct的指針中的任意一種;
若所述賦值變量的數(shù)據(jù)類(lèi)型為map類(lèi)、struct類(lèi)或者指向struct的指針中的任意一種,則通過(guò)被賦值變量的指針獲取被賦值變量的reflect.Value對(duì)象;
根據(jù)所述被賦值變量的reflect.Value對(duì)象判斷被賦值變量的數(shù)據(jù)類(lèi)型是否為struct類(lèi),若所述被賦值變量的數(shù)據(jù)類(lèi)型是struct類(lèi),則獲取所述被賦值變量的Field以及Field對(duì)應(yīng)的值;
獲取所述賦值變量的字段及字段對(duì)應(yīng)的值,并遍歷所述賦值變量中所有字段,將賦值變量中字段對(duì)應(yīng)的值,賦值給被賦值變量中與所述賦值變量中字段描述相同的Field所對(duì)應(yīng)的值;
遍歷完成后,則賦值變量給被賦值變量賦值完成。
進(jìn)一步的,在所述遍歷所述賦值變量中所有字段的步驟之前,所述結(jié)構(gòu)體賦值方法還包括:
基于用戶(hù)操作構(gòu)建賦值變量中的字段與被賦值變量中的Field之間的字段映射關(guān)系表。
進(jìn)一步的,所述遍歷所述賦值變量中所有字段,將賦值變量中字段對(duì)應(yīng)的值,賦值給被賦值變量中與所述賦值變量中字段描述相同的Field所對(duì)應(yīng)的值的步驟包括:
獲取所述賦值變量中任意單個(gè)字段并進(jìn)行預(yù)設(shè)的字段描述判斷,所述字段描述判斷為:判斷被賦值變量中是否存在與所述單個(gè)字段描述相同的Field,若存在,則獲取被賦值變量中與所述單個(gè)字段描述相同的Field對(duì)應(yīng)的值;
判斷所述單個(gè)字段對(duì)應(yīng)的值的數(shù)據(jù)類(lèi)型是否與被賦值變量中與所述單個(gè)字段描述相同的Field所對(duì)應(yīng)的值的數(shù)據(jù)類(lèi)型相同;
若數(shù)據(jù)類(lèi)型相同,則將所述單個(gè)字段對(duì)應(yīng)的值賦值給被賦值變量中與所述單個(gè)字段描述相同的Field所對(duì)應(yīng)的值;
當(dāng)所述賦值變量所有單個(gè)字段都進(jìn)行了字段描述判斷后,則遍歷完成。
進(jìn)一步的,所述判斷被賦值變量中是否存在與所述單個(gè)字段描述相同的Field的步驟之后,包括:
若不存在,則根據(jù)所述字段映射關(guān)系表,獲取與所述單個(gè)字段成映射關(guān)系的Field,判定被賦值變量中與所述單個(gè)字段成映射關(guān)系的Field與所述單個(gè)字段描述相同。
進(jìn)一步的,所述獲取所述賦值變量的字段及字段對(duì)應(yīng)的值的步驟之后,包括:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳市明源云采購(gòu)科技有限公司,未經(jīng)深圳市明源云采購(gòu)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111237304.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺(tái)結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 踏板賦值設(shè)備
- 參數(shù)集編碼
- 賦值轉(zhuǎn)換方法
- 一種適用于中國(guó)女性的乳腺癌篩選模型及其建立方法
- 一種基于對(duì)象的頁(yè)面賦值方法及系統(tǒng)
- 鍵值對(duì)數(shù)據(jù)的賦值方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種測(cè)試用例的參數(shù)生成方法、裝置及終端設(shè)備
- 一種天然氣能量計(jì)量賦值核查方法及系統(tǒng)
- 分支啟發(fā)的變?cè)馁x值優(yōu)化算法、布爾可滿(mǎn)足性驗(yàn)證算法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 雙桌面遠(yuǎn)程控制系統(tǒng)及方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 雙計(jì)算機(jī)系統(tǒng)
- 制導(dǎo)雷達(dá)計(jì)算機(jī)系統(tǒng)
- 一種服務(wù)部署方法及裝置
- 一種計(jì)算機(jī)集成系統(tǒng)及故障自動(dòng)切換方法
- 一種計(jì)算機(jī)信息安全監(jiān)控系統(tǒng)
- 混合型量子計(jì)算機(jī)架構(gòu)及其執(zhí)行計(jì)算任務(wù)的方法





