欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年07月13日 11:21:31   作者:luxixing  
Go 語言從新手到大神,每個人多少都會踩一些坑,那么下面這篇文章主要給大家介紹了關(guān)于go語言載入json可能遇到的一個坑,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。

問題簡介

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

代碼演示

代碼是最好的說明載體

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)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 淺析Go匯編語法和MatrixOne使用介紹

    淺析Go匯編語法和MatrixOne使用介紹

    MatrixOne由Go語言所開發(fā)是一個新一代超融合異構(gòu)數(shù)據(jù)庫,致力于打造單一架構(gòu)處理TP、AP、流計算等多種負(fù)載的極簡大數(shù)據(jù)引擎,今天通過本文給大家介紹Go匯編語法和MatrixOne使用,感興趣的朋友一起看看吧
    2022-04-04
  • 詳解Golang中鏈表的創(chuàng)建和讀取

    詳解Golang中鏈表的創(chuàng)建和讀取

    這篇文章主要為大家詳細(xì)介紹了Golang中鏈表的創(chuàng)建和讀取的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起了解下
    2023-12-12
  • go字符串拼接方式及性能比拼小結(jié)

    go字符串拼接方式及性能比拼小結(jié)

    在golang中字符串的拼接方式有多種,本文將會介紹比較常用的幾種方式,并且對各種方式進(jìn)行壓測,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • golang微服務(wù)框架基礎(chǔ)Gin基本路由使用詳解

    golang微服務(wù)框架基礎(chǔ)Gin基本路由使用詳解

    這篇文章主要為大家介紹了golang微服務(wù)框架Gin基本路由的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Golang關(guān)鍵字defer的用法詳解

    Golang關(guān)鍵字defer的用法詳解

    defer是Go里面的一個關(guān)鍵字,用在方法或函數(shù)前面,作為方法或函數(shù)的延遲調(diào)用。這篇文章主要為大家介紹了defer的簡單使用,需要的可以參考一下
    2023-05-05
  • 使用goland調(diào)試遠(yuǎn)程代碼的操作步驟

    使用goland調(diào)試遠(yuǎn)程代碼的操作步驟

    大家都知道如何在goland調(diào)試遠(yuǎn)程代碼嗎?今天小編給大家分享一篇教程幫助大家學(xué)習(xí)goland調(diào)試遠(yuǎn)程代碼的操作步驟,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • 一文帶你讀懂Golang?sync包之sync.Mutex

    一文帶你讀懂Golang?sync包之sync.Mutex

    sync.Mutex可以說是sync包的核心了,?sync.RWMutex,?sync.WaitGroup...都依賴于他,?本章我們將帶你一文讀懂sync.Mutex,快跟隨小編一起學(xué)習(xí)一下吧
    2023-04-04
  • 使用Golang編寫一個簡單的命令行工具

    使用Golang編寫一個簡單的命令行工具

    Cobra是一個強大的開源工具,能夠幫助我們快速構(gòu)建出優(yōu)雅且功能豐富的命令行應(yīng)用,本文將利用Cobra編寫一個簡單的命令行工具,感興趣的可以了解下
    2023-12-12
  • Go實現(xiàn)跨平臺的藍(lán)牙聊天室示例詳解

    Go實現(xiàn)跨平臺的藍(lán)牙聊天室示例詳解

    這篇文章主要為大家介紹了Go實現(xiàn)跨平臺的藍(lán)牙聊天室示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Go語言實現(xiàn)JSON解析的神器詳解

    Go語言實現(xiàn)JSON解析的神器詳解

    php轉(zhuǎn)go是大趨勢,越來越多公司的php服務(wù)都在用go進(jìn)行重構(gòu),重構(gòu)過程中,會發(fā)現(xiàn)php的json解析操作是真的香。本文和大家分享了一個Go語言實現(xiàn)JSON解析的神器,希望對大家有所幫助
    2023-01-01

最新評論