[發明專利]結構體賦值方法、賦值器及計算機可讀存儲介質在審
| 申請號: | 202111237304.6 | 申請日: | 2021-10-25 |
| 公開(公告)號: | CN113672311A | 公開(公告)日: | 2021-11-19 |
| 發明(設計)人: | 譚洪斌 | 申請(專利權)人: | 深圳市明源云采購科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 深圳市恒程創新知識產權代理有限公司 44542 | 代理人: | 趙正琪 |
| 地址: | 518000 廣東省深圳市南山區粵海街道高新區社區高新南四道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 結構 賦值 方法 計算機 可讀 存儲 介質 | ||
1.一種結構體賦值方法,其特征在于,所述結構體賦值方法包括以下步驟:
獲取賦值變量的reflect.Value對象,并根據所述賦值變量的reflect.Value對象判斷所述賦值變量的數據類型是否為map類、struct類或者指向struct的指針中的任意一種;
若所述賦值變量的數據類型為map類、struct類或者指向struct的指針中的任意一種,則通過被賦值變量的指針獲取被賦值變量的reflect.Value對象;
根據所述被賦值變量的reflect.Value對象判斷被賦值變量的數據類型是否為struct類,若所述被賦值變量的數據類型是struct類,則獲取所述被賦值變量的Field以及Field對應的值;
獲取所述賦值變量的字段及字段對應的值,并遍歷所述賦值變量中所有字段,將賦值變量中字段對應的值,賦值給被賦值變量中與所述賦值變量中字段描述相同的Field所對應的值;
遍歷完成后,則賦值變量給被賦值變量賦值完成。
2.如權利要求1所述的結構體賦值方法,其特征在于,在所述遍歷所述賦值變量中所有字段的步驟之前,所述結構體賦值方法還包括:
基于用戶操作構建賦值變量中的字段與被賦值變量中的Field之間的字段映射關系表。
3.如權利要求2所述的結構體賦值方法,其特征在于,所述遍歷所述賦值變量中所有字段,將賦值變量中字段對應的值,賦值給被賦值變量中與所述賦值變量中字段描述相同的Field所對應的值的步驟包括:
獲取所述賦值變量中任意單個字段并進行預設的字段描述判斷,所述字段描述判斷為:判斷被賦值變量中是否存在與所述單個字段描述相同的Field,若存在,則獲取被賦值變量中與所述單個字段描述相同的Field對應的值;
判斷所述單個字段對應的值的數據類型是否與被賦值變量中與所述單個字段描述相同的Field所對應的值的數據類型相同;
若數據類型相同,則將所述單個字段對應的值賦值給被賦值變量中與所述單個字段描述相同的Field所對應的值;
當所述賦值變量所有單個字段都進行了字段描述判斷后,則遍歷完成。
4.如權利要求3所述的結構體賦值方法,其特征在于,所述判斷被賦值變量中是否存在與所述單個字段描述相同的Field的步驟之后,包括:
若不存在,則根據所述字段映射關系表,獲取與所述單個字段成映射關系的Field,判定被賦值變量中與所述單個字段成映射關系的Field與所述單個字段描述相同。
5.如權利要求4所述的結構體賦值方法,其特征在于,所述獲取所述賦值變量的字段及字段對應的值的步驟之后,包括:
基于用戶操作對所述賦值變量中部分字段及部分字段對應的值進行忽略,被忽略部分的字段不參與遍歷。
6.如權利要求5所述的結構體賦值方法,其特征在于,所述獲取所述賦值變量的字段及字段對應的值包括:
當所述賦值變量的數據類型為map類時,則所述賦值變量的字段為key;
當所述賦值變量的數據類型為struct類時,則所述賦值變量的字段為Field;
當所述賦值變量的數據類型為指向struct的指針時,根據所述指向struct的指針獲取struct,并將指針指向的struct作為賦值變量,此時賦值變量的數據類型為struct類,則所述賦值變量的字段為Field。
7.如權利要求6所述的結構體賦值方法,其特征在于,所述若數據類型相同,則將所述單個字段對應的值賦值給被賦值變量中與所述單個字段描述相同的Field所對應的值包括:
當判斷數據類型相同后,判斷所述單個字段對應的值的字節位數是否大于與被賦值變量中與所述單個字段描述相同的Field所對應的值的字節位數;
若判斷為否,則將所述單個字段對應的值賦值給被賦值變量中與所述單個字段描述相同的Field所對應的值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市明源云采購科技有限公司,未經深圳市明源云采購科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111237304.6/1.html,轉載請聲明來源鉆瓜專利網。





