1. 程式人生 > >小猿圈go語言之使用第三方包操作示例

小猿圈go語言之使用第三方包操作示例

對於go語言你瞭解多少,以前有過這方面知識的積累嗎?小猿圈go語言講師就給你分享發一些go語言的知識點,畢竟go會是以後的發展方向,這篇文章說一下go語言使用第三方包操作例項。

go語言使用第三方包和json化結構體操作,結合例項形式分析了Go語言ffjson包git安裝及結構體轉json字串相關操作技巧。

前提條件:安裝好作業系統對應的git

go get -u github.com/pquerna/ffjson

-u引數:如果本地已經存在該包,則強制更新。

1、既然是把結構體轉為json字串,那麼先來定義一個結構體

程式碼如下:

// 定義一個結構體

type NewsModel struct {

Id int

Title string

}

2、且看ffjson這包用什麼方法來把結構體轉為json字串

程式碼如下:

func main()  {

news := NewsModel{110,"hello"}

res,err := ffjson.Marshal(news)

if err != nil {

  fmt.Println("格式化錯誤")

  fmt.Println(err.Error())

  return

}

// 得到是位元組陣列,所以還有轉為string

fmt.Println(string(res))

}

列印:

{"Id":110,"Title":"hello"}

得到了一個json字串

3、拓展

為結構體封裝一個方法ToJson()專門來幹這事

程式碼如下:

package main

import (

"fmt"

"github.com/pquerna/ffjson/ffjson"

)

// 定義一個結構體

type NewsModel struct {

Id int

Title string

}

// 定義一個方法

func (news NewsModel) ToJson() string  {

res,err := ffjson.Marshal(news)

if err != nil {

  return  err.Error()

}

// 得到是位元組陣列,所以還有轉為string

return string(res)

}

func main()  {

news := NewsModel{110,"hello"}

fmt.Println(news.ToJson()) // 列印:{"Id":110,"Title":"hello"}

}

以上就是小猿圈講師對於go語言使用第三方包操作示例的全面指導,希望對你學習go語言有一定的幫助,持之以恆很重要,百分之99的人不是天才,都是自己的堅持和心態註定了他學習的成功,所以遇到難題不會的可以到小猿圈網站上去看看的,