主頁 > 知識庫 > 關(guān)于go語言載入json可能遇到的一個坑

關(guān)于go語言載入json可能遇到的一個坑

熱門標簽:汕頭小型外呼系統(tǒng) 阿里云ai電話機器人 濱州自動電銷機器人排名 浙江高頻外呼系統(tǒng)多少錢一個月 黃岡人工智能電銷機器人哪個好 建造者2地圖標注 惠州電銷防封電話卡 鄭州亮點科技用的什么外呼系統(tǒng) 釘釘有地圖標注功能嗎

問題簡介

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

代碼演示

代碼是最好的說明載體

package config

type 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 的值是多少
}

結(jié)論

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

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

原因其實非常簡單:

go 不同包中的變量 函數(shù) 方法訪問,區(qū)分訪問權(quán)限的就是 變量 函數(shù) 方法的首字母是否大寫 如果是大寫,可以在其他包被訪問

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

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

思考

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

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

您可能感興趣的文章:
  • Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子
  • Go語言對JSON進行編碼和解碼的方法
  • 在Go語言程序中使用gojson來解析JSON格式文件
  • 使用Go語言解析動態(tài)JSON格式的方法
  • go語言讀取json并下載高清妹子圖片
  • 詳解Go語言RESTful JSON API創(chuàng)建
  • Go語言的JSON處理詳解
  • 在Go語言中使用JSON的方法
  • Go語言結(jié)構(gòu)體定義和使用方法
  • 淺談Go語言中的結(jié)構(gòu)體struct & 接口Interface & 反射
  • Go語言指針訪問結(jié)構(gòu)體的方法
  • go語言使用第三方包 json化結(jié)構(gòu)體操作示例

標簽:昭通 阿壩 泰安 駐馬店 滄州 瀘州 東營 晉中

巨人網(wǎng)絡(luò)通訊聲明:本文標題《關(guān)于go語言載入json可能遇到的一個坑》,本文關(guān)鍵詞  關(guān)于,語言,載入,json,可能,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于go語言載入json可能遇到的一個坑》相關(guān)的同類信息!
  • 本頁收集關(guān)于關(guān)于go語言載入json可能遇到的一個坑的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章