记录解决安装 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,
1 2 3 4 5 6 7 8 9 | //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方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?