不是的,分情況。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了通河免費建站歡迎大家使用!
golang支持兩種類型的字符串字面量:解釋型字符串:雙引號括起來的字符串(““),轉(zhuǎn)義字符(如\n\r等)會被替換掉。
非解釋型字符串:用反引號(鍵盤左上角上的)括起來的字符串,轉(zhuǎn)義字符不會被解釋且可跨行(原樣輸出)
json是一種經(jīng)常使用的數(shù)據(jù)格式,下面總結(jié)一下json的使用
json與struct轉(zhuǎn)換的話struct的屬性必須首字母大寫。
當(dāng)用的多了就會發(fā)現(xiàn)一個致命的問題:go默認會將特殊字符轉(zhuǎn)義采用以下方法可以解決:
處理方法1
處理方法2
不管是屬性組成的還是Tag組成的json字符串,都可以正常的解析
tag:
json:"-" // 表示不進行序列化
IsOnSale bool json:"is_on_sale,string" //序列化后轉(zhuǎn)成string
ProductID int64 json:"product_id,omitempty" //為零值時忽略
序列化或者反序列化時可以指定類型,支持string,number和boolean
IsOnSale bool json:"is_on_sale,string"
注意:
正確使用第一個,第二個回報錯
json的Marshal 用來對slice,map,struct等結(jié)構(gòu)化類型數(shù)據(jù)轉(zhuǎn)義成[]byte/string,UnMarshal方法是用來對[]byte/string轉(zhuǎn)義成指定結(jié)構(gòu)的interface。但在處理html標(biāo)簽字符中,會存在轉(zhuǎn)義問題。Marshal方法默認把html標(biāo)簽中的'', '' , ''字符轉(zhuǎn)義成unicode,為強制為有效UTF-8的JSON字符串,用Unicode替換符號替換無效字節(jié)。
go doc原文
Marshal的源碼
這一行encOpts{escapeHTML: true}),這里的true導(dǎo)致標(biāo)簽被轉(zhuǎn)義。
針對上述問題,有兩種解決辦法,第一種是替換上述三個tag,第二種是SetEscapeHtml(false);
輸出:
分享名稱:go語言轉(zhuǎn)義符,go語言類型轉(zhuǎn)換
瀏覽路徑:http://m.rwnh.cn/article30/phpopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、商城網(wǎng)站、網(wǎng)站改版、動態(tài)網(wǎng)站、做網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)