百木园-与人分享,
就是让自己快乐。

记录解决安装 golang easyjson json包遇到的坑(有库但没有可执行文件)

为什么要使用 easyjson 包:

  因为解析json原生包用的是反射所以性能较差, 用 easyjson 比原生json包快好几倍

 

安装:

  cmd 输入下载代码 go get -u github.com/mailru/easyjson/

 

坑(我的golang版本 go1.16.7 windows/amd64):

  官方说下载库后 GOPATH 路径下的bin文件里会有个 easyjson.exe 文件, 结果我没有(但有 easyjson 库文件)

 

解决:

  cmd cd 到 easyjson 库文件下的 easyjson 文件下, 当前文件有个main.go文件,

  在这个目录下cmd输入 go build 命令, 会生成 easyjson.exe,

  然后把此.exe文件放到 GOPATH 路径下的bin文件里, 

  如果没有bin文件则新建一个放入即可

 

使用说明:

  执行cdm命令: easyjson <file>.go // 前提是 GOPATH/bin/ 必须存在 easyjson.exe 可执行文件, 这样就会生成 easyjson_<file>.go

//easyjson:json
type WM_SetPosition struct {
	Type         int                `json:\"type\"`
	UUID_cheng   string             `json:\"uuid_cheng\"`   //Cheng.UUID
	UUID_command string             `json:\"uuid_command\"` //Command.UUID
	ID_role      int                `json:\"id_role\"`      //Role.ID 
	PositionNow  *world.MapPosition `json:\"positionNow\"`  //现在的位置
	PositionNext *world.MapPosition `json:\"positionNext\"` //下一个位置
}

  我这个结构体是在 socket/message.go, 所以我直接在cmd里面cd到socket下,

  cdm执行 easyjson message.go, 执行完后它会在当前文件下生成一个 easyjson_message.go 文件,

  如果一切都顺利则会为为 WM_SetPosition 结构体增加了MarshalJSON、UnmarshalJSON方法

 


来源:https://www.cnblogs.com/weihexinCode/p/16561011.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 记录解决安装 golang easyjson json包遇到的坑(有库但没有可执行文件)

相关推荐

  • 暂无文章