我想利用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的话怎么解决)
那样直接用`_Info`接收数据库的查询,有什么不可吗?实在不行数据类型改一致。都改成`int32`
```go
info := _Info{}
Get(&info)
```
#6
更多评论
你这个跟`xorm` `gRPC`没什么关系吧。 xorm 映射的结构体是 `Info`, gRPC对应的是 `_Info`,两个结构体除了看着像,根本就不是一个struct。首先就不能被`int`和`int32`带偏了。可以按照1L说的那样写个工具类,比如类似Java的 `BeanUtils.copyProperties`
#2