Go开发中结构体 model、dto 、time格式问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go开发中结构体 model、dto 、time格式问题相关的知识,希望对你有一定的参考价值。
参考技术A model层不允许使用 json, dto层又重复造轮子,一个表的字段可能20个左右,那么赋值语句难受死了。其次就是json直接解析,model层的time.Time,完蛋格式不对,返回的数据不对。
比如
这种情况,无法解决,就需要必须重写一个dto。
那么如何解决这个问题呢,本人思考了一段时间,最终使用Map来解决。
那么反射会遇到,各种奇葩的书写方式,有些人什么都出传入指针,有些人各种interface 隐藏转换,反正就是太过于差异化。
所以就是需要解决,如何准确的拿到Value对象,下面是我写的一个工具类
解决这个问题,开干
下划线如何解决,结构体的字段属于驼峰命名法,怎么解决呢?
写了一个简单的工具类
问题:1、如果是 ID ,连续大写,输出 i_d
2、因为数组到切片需要拷贝一次,所以可以利用unsafe解决,因为字符串底层就是切片,但是不安全
1、解决time的问题
2、反射、下划线命名法
输出结果:
完美,美中不足是需要使用likedMap,由于Golang源码包没有,所以,注定乱序
以上是关于Go开发中结构体 model、dto 、time格式问题的主要内容,如果未能解决你的问题,请参考以下文章