Go 之基礎速學 (七) golang 裡包的使用 JSON 化 struct 結構體以及 if else 的初次使用(二)

huxiaobai_001發表於2020-05-07

首先來講講如何引入第三方包,學了golang就要習慣引入第三方包來搞事情,php裡面不也經常通過composer引入第三方外掛包嘛?其實一樣的道理,只不過引入的形式不同而已!
比如我們這裡需要引入將結構體屬性轉換為json字串的包,當然去github上邊去找了,github上邊什麼都有,首先你得有git,沒有git不會git那就是扯淡!
還記得gopath嗎?
Go 之基礎速學 (七) golang 裡 第三方包的使用 json化struct結構體以及 if else的初次使用(二)
開啟git命令列 隨便在哪個位置 當然你已經配置了go的環境變數的前提下哈 以及 gopath的環境變數也配置好了
然後執行:

 go get github.com/pquerna/ffjson

執行完畢 你會發現在你的gopath目錄下的src裡面多了一個包 github包
Go 之基礎速學 (七) golang 裡 第三方包的使用 json化struct結構體以及 if else的初次使用(二)
引入完成第三方包那麼我們的智慧編輯器goland就會自動幫你載入的,儘管使用就行啦!

package main

import (
   "fmt"
   "github.com/pquerna/ffjson/ffjson")

func main(){
  //第三方包的使用 json化結構體 if  else的初次使用 案例一
  //初始化結構體
  news:=TestStrutOne{112233,"biaoti"}
   //news.Tojson() 你就把ToJson()理解我TestStrutOne結構體裡面的方法就行
  fmt.Println(news.ToJson())
}

//配合 第三方包的使用/json化結構體/if  else的初次使用 案例一
type TestStrutOne struct {
   NewsId int
   NewsTitle string
}

//配合 第三方包的使用/json化結構體/if  else的初次使用 案例一
//理解為其實就是 TestStrutOne結構體裡面的方法
//返回值為string型別
func (news TestStrutOne) ToJson() string {
   //這種寫法在php當中叫做解構 ffjson.Marshal()是引用了第三方的json轉換包 如何引入我們去部落格裡面講
   result,err := ffjson.Marshal(news)
   //nil就是相當於php當中的null none 空
   if err !=nil {
      return err.Error()
   } else {
   //因為返回值為string型別 所以這裡需要使用string()強轉一下啦
      return string(result)
   }
}

直接上程式碼吧 註釋都在程式碼裡面寫著呢

本作品採用《CC 協議》,轉載必須註明作者和本文連結

胡軍

相關文章