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

[复制链接]
发表于 2022-9-16 17:14:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
为什么要使用 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 .go // 前提是 GOPATH/bin/ 必须存在 easyjson.exe 可执行文件, 这样就会生成 easyjson_.go
  1. //easyjson:json
  2. type WM_SetPosition struct {
  3.         Type         int                `json:"type"`
  4.         UUID_cheng   string             `json:"uuid_cheng"`   //Cheng.UUID
  5.         UUID_command string             `json:"uuid_command"` //Command.UUID
  6.         ID_role      int                `json:"id_role"`      //Role.ID
  7.         PositionNow  *world.MapPosition `json:"positionNow"`  //现在的位置
  8.         PositionNext *world.MapPosition `json:"positionNext"` //下一个位置
  9. }
复制代码
  我这个结构体是在 socket/message.go, 所以我直接在cmd里面cd到socket下,
  cdm执行 easyjson message.go, 执行完后它会在当前文件下生成一个 easyjson_message.go 文件,
  如果一切都顺利则会为为 WM_SetPosition 结构体增加了MarshalJSON、UnmarshalJSON方法
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表