博客列表 >小猿圈go语言之使用第三方包操作示例

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

聆听的博客
聆听的博客原创
2019年07月25日 15:14:39846浏览

对于go语言你了解多少,以前有过这方面知识的积累吗?小猿圈go语言讲师就给你分享发一些go语言的知识点,毕竟go会是以后的发展方向,这篇文章说一下go语言使用第三方包操作实例。

go语言使用第三方包和json化结构体操作,结合实例形式分析了Go语言ffjson包git安装及结构体转json字符串相关操作技巧。


前提条件:安装好操作系统对应的git

go get -u github***/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***/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的人不是天才,都是自己的坚持和心态注定了他学习的成功,所以遇到难题不会的可以到小猿圈网站上去看看的,跟着好好学习。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议