對于go語言你了解多少,以前有過這方面知識的積累嗎溃卡?小猿圈go語言講師就給你分享發(fā)一些go語言的知識點溢豆,畢竟go會是以后的發(fā)展方向蜒简,這篇文章說一下go語言使用第三方包操作實例瘸羡。
go語言使用第三方包和json化結(jié)構(gòu)體操作,結(jié)合實例形式分析了Go語言ffjson包git安裝及結(jié)構(gòu)體轉(zhuǎn)json字符串相關(guān)操作技巧搓茬。
前提條件:安裝好操作系統(tǒng)對應(yīng)的git
go get -u github.com/pquerna/ffjson
-u參數(shù):如果本地已經(jīng)存在該包犹赖,則強制更新。
1卷仑、既然是把結(jié)構(gòu)體轉(zhuǎn)為json字符串峻村,那么先來定義一個結(jié)構(gòu)體
代碼如下:
// 定義一個結(jié)構(gòu)體
type NewsModel struct {
Id int
Title string
}
2、且看ffjson這包用什么方法來把結(jié)構(gòu)體轉(zhuǎn)為json字符串
代碼如下:
func main()? {
news := NewsModel{110,"hello"}
res,err := ffjson.Marshal(news)
if err != nil {
? fmt.Println("格式化錯誤")
? fmt.Println(err.Error())
? return
}
// 得到是字節(jié)數(shù)組锡凝,所以還有轉(zhuǎn)為string
fmt.Println(string(res))
}
打诱匙颉:
{"Id":110,"Title":"hello"}
得到了一個json字符串
3、拓展
為結(jié)構(gòu)體封裝一個方法ToJson()專門來干這事
代碼如下:
package main
import (
"fmt"
"github.com/pquerna/ffjson/ffjson"
)
// 定義一個結(jié)構(gòu)體
type NewsModel struct {
Id int
Title string
}
// 定義一個方法
func (news NewsModel) ToJson() string? {
res,err := ffjson.Marshal(news)
if err != nil {
? return? err.Error()
}
// 得到是字節(jié)數(shù)組窜锯,所以還有轉(zhuǎn)為string
return string(res)
}
func main()? {
news := NewsModel{110,"hello"}
fmt.Println(news.ToJson()) // 打诱派觥:{"Id":110,"Title":"hello"}
}
以上就是小猿圈講師對于go語言使用第三方包操作示例的全面指導(dǎo),希望對你學(xué)習(xí)go語言有一定的幫助锚扎,持之以恒很重要吞瞪,百分之99的人不是天才,都是自己的堅持和心態(tài)注定了他學(xué)習(xí)的成功驾孔,所以遇到難題不會的可以到小猿圈網(wǎng)站上去看看的芍秆,跟著好好學(xué)習(xí)。