go語言載入json可能遇到的問題有哪些,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
10年積累的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有長壽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。問題簡介
Go語言是一個簡單卻蘊含深意的語言,大家都知道go語言標(biāo)準(zhǔn)庫匯總內(nèi)置了對 json 文件的處理,非常方便,最近在寫一個應(yīng)用的時候,需要從 json 文件中載入 配置,由于是 go 新手,忽略一個細節(jié),導(dǎo)致載入內(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 必須改寫為大寫才可以賦值
看完上述內(nèi)容,你們掌握go語言載入json可能遇到的問題有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。