我想利用gRPC 和 xorm 实现数据库查询
比如:
```go
type Info struct{
Age int //数据库中此字段是int
}
```
由于gRPC中只有int32类型
所以只能:
```go
message _Info struct{
int32 Age = 1;
}
```
数据库查询的时候由于字段类型的缘故
无法直接以 `Get(&_Info)`来获取,并直接传输走
只能进行赋值
```go
info :=Info{}
Get(&info)
_Info.Age = info.Age
```
再把`_Info`传输走
但是如果查询的结构体中字段超多怎么办?
只能一个个对应赋值么?
有没有别的优雅点的办法
(我知道golang 有个net/rpc库,支持int。但我就是想知道用gRPC的话怎么解决)
2楼 <a href="/user/zzustu" title="@zzustu">@zzustu</a> 就我理想是,可以直接用proto的结构体直接用来接收查询结果,直接返回就得了
那还是自己写个小工具吧
= =
#5
更多评论
你这个跟`xorm` `gRPC`没什么关系吧。 xorm 映射的结构体是 `Info`, gRPC对应的是 `_Info`,两个结构体除了看着像,根本就不是一个struct。首先就不能被`int`和`int32`带偏了。可以按照1L说的那样写个工具类,比如类似Java的 `BeanUtils.copyProperties`
#2