国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

關于go語言載入json可能遇到的一個坑

2020-04-01 19:04:51
字體:
來源:轉載
供稿:網友

問題簡介

Go語言是一個簡單卻蘊含深意的語言,大家都知道go語言標準庫匯總內置了對 json 文件的處理,非常方便,最近在寫一個應用的時候,需要從 json 文件中載入 配置,由于是 go 新手,忽略一個細節,導致載入內容始終為空,下面話不多說,需要的朋友們一起來看看詳細的介紹:

代碼演示

代碼是最好的說明載體

package configtype config struct{ a string `json:"a"` b string `json:"a"`}func Load(file string)(*config, error){ c = &config{} file, err := os.Open(file) if err != nil { //file open failed todo  } jsonParser := json.NewDecoder(file) err = jsonParser.Decode(c) //c 的值是多少}

結論

看到上面的代碼,大家會覺著c 是否賦值成功了呢?

事實上,不成功, json 文件解析成功但是最終賦值失敗

原因其實非常簡單:

go 不同包中的變量 函數 方法訪問,區分訪問權限的就是 變量 函數 方法的首字母是否大寫 如果是大寫,可以在其他包被訪問

這個問題中,json 包和 config 不是同一個包,訪問失敗,不能 set

a b 必須改寫為大寫才可以賦值

思考

之所以 config 中的 filed 設置為小寫 是想做訪問控制,如果堅持小寫,如何給 config 的 field 賦值?知道的朋友們可以留言分享哦~

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭山县| 青州市| 远安县| 通化市| 呈贡县| 成武县| 盐亭县| 汝南县| 财经| 安西县| 建始县| 买车| 肃北| 山阳县| 泽库县| 贵州省| 盐亭县| 漠河县| 泗阳县| 清苑县| 高碑店市| 虹口区| 麦盖提县| 建水县| 洛隆县| 南京市| 吉首市| 苍溪县| 桂林市| 麻阳| 淮北市| 北流市| 蒙城县| 庄浪县| 鹤壁市| 高唐县| 宾川县| 温宿县| 昌平区| 宁海县| 姜堰市|