当前位置: 首页 > news >正文

做网站用的图片分辨率申请网站建设

做网站用的图片分辨率,申请网站建设,东莞网络推广招聘,阿里wordpress 安装最近做一个需求#xff0c;各种业务消息都会往我的消息队列中写各种类型的数据#xff0c;服务端需要接受各种不同的参数然后转换为本地数据结构#xff0c;Go语言不确定上游传过来的数值是什么类型#xff0c;然后又下面四种解决方案。 1. 类型断言和类型切换 func (Mis…最近做一个需求各种业务消息都会往我的消息队列中写各种类型的数据服务端需要接受各种不同的参数然后转换为本地数据结构Go语言不确定上游传过来的数值是什么类型然后又下面四种解决方案。 1. 类型断言和类型切换 func (MissionEventHandler) Handle(ctx context.Context, message *kafka.Message) error {var raw map[string]interface{}err : json.Unmarshal(message.Value, raw)if err ! nil {// Handle errorreturn err}switch raw[event] {case mission.MISSION_EVENT_PAY_SUCCESS:uid, ok1 : raw[uid].(string)time, ok2 : raw[time].(string)num, ok3 : raw[num].(float64) // JSON numbers are float64 by defaultif !ok1 || !ok2 || !ok3 {// Handle type assertion errorreturn errors.New(type assertion failed)}// Handle the event// ...// Add cases for other event typesdefault:// Handle unknown event}return nil }2. 结构体组合 type Event struct {Event string json:event }type PaySuccessEvent struct {EventUID string json:uidTime string json:timeNum int json:num }// ... Define other specific event structsfunc (MissionEventHandler) Handle(ctx context.Context, message *kafka.Message) error {var baseEvent Eventerr : json.Unmarshal(message.Value, baseEvent)if err ! nil {// Handle errorreturn err}switch baseEvent.Event {case mission.MISSION_EVENT_PAY_SUCCESS:var paySuccessEvent PaySuccessEventerr : json.Unmarshal(message.Value, paySuccessEvent)if err ! nil {// Handle errorreturn err}// Handle the event// ...// Add cases for other event typesdefault:// Handle unknown event}return nil }3. 使用 json.RawMessage type GenericEvent struct {Event string json:eventData json.RawMessage json:data }func (MissionEventHandler) Handle(ctx context.Context, message *kafka.Message) error {var genericEvent GenericEventerr : json.Unmarshal(message.Value, genericEvent)if err ! nil {// Handle errorreturn err}switch genericEvent.Event {case mission.MISSION_EVENT_PAY_SUCCESS:var paySuccessEvent PaySuccessEventerr : json.Unmarshal(genericEvent.Data, paySuccessEvent)if err ! nil {// Handle errorreturn err}// Handle the event// ...// Add cases for other event typesdefault:// Handle unknown event}return nil }4. 使用 map[string]interface{} 和反射 import (reflectencoding/json )func (MissionEventHandler) Handle(ctx context.Context, message *kafka.Message) error {var raw map[string]interface{}err : json.Unmarshal(message.Value, raw)if err ! nil {// Handle errorreturn err}switch raw[event] {case mission.MISSION_EVENT_PAY_SUCCESS:paySuccessEvent : reflect.New(reflect.TypeOf(PaySuccessEvent{})).Interface()err : mapstructure.Decode(raw, paySuccessEvent)if err ! nil {// Handle errorreturn err}// Handle the event// ...// Add cases for other event typesdefault:// Handle unknown event}return nil }在第四种方法中使用了mapstructure库可以将通用的map值解码到相应的结构体中。
http://www.hkea.cn/news/14468081/

相关文章:

  • 网站推广的名词解释怎么注册网自己的网站吗
  • 冠县企业做网站推广手机优化管家
  • 短视频网站平台怎么做设计公司和装修公司的区别
  • 注册网站域名的入口是排版设计怎么做
  • 遵义做网站 0852t龙湖建设工程有限公司网站
  • 石家庄智能网站建设网站ip访问做图表
  • 网站顶部可关闭广告中信建设有限责任公司江苏分公司企查查
  • 1.0钓鱼网站开发--站点说明无锡做网站公司哪家好
  • 北美购物网站排名公司建设网站产生哪些费用
  • 关键词优化排名怎么做正规的百度快排seo
  • 网站通栏图片代码怎么用dw网站怎么建设
  • 温州免费建站模板网络营销案例分析心得
  • 网站代码大全石家庄科技网站建设
  • 企业网站源码phpwordpress个人简历
  • 丢了么网站九江 网站建设
  • php学校网站建设php怎么做网站教程
  • 手机网站大全免费网站修改文案
  • asp.net 网站开发项目给浏览器加速的加速器
  • 做网站有限公司软件交易网
  • 现在做网站用什么工具微网站建设及微信推广方案ppt模板
  • 中山网站建设托管温州企业网站建设公司
  • 免费网站平台手机上怎么做自己卖菜的网站
  • 高档网站模板网站建设服务收费标准
  • 做电商网站要备案吗wordpress360cdn
  • 搭建平台网站有什么用服务好的建筑企业查询
  • 自己做网站如何赚钱网站什么时候做SEO优化最合适
  • 淘客导航网站开发网站备案年审
  • 重庆慕尚网站建设网站建设准备
  • 工作总结个人总结杭州网站seo优化
  • 河南网站推广优化淘宝客网站怎么建设