一 前言
- 在utils目录中新建一个swap.go文件
- swap.go中主要存放一些可以使用到的一些公共函数
- 导包:
import ( "account/domain/model" . "account/proto/account" "encoding/json" "google.golang.org/protobuf/types/known/timestamppb" )
二 SwapTo 通过json tag 进行结构体赋值
- 此函数主要用于将客户端传来的数据解析到结构体中
- 还用于将数据解析传给客户端
// SwapTo 通过json tag 进行结构体赋值 func SwapTo(request, category interface{}) (err error) { dataByte, err := json.Marshal(request) if err != nil { return } return json.Unmarshal(dataByte, category) }
三 UserForResponse 类型转化
- 此函数用于将数据库查出的数据赋值给Response传给客户端
// UserForResponse 类型转化 func UserForResponse(response *UserInfoResponse, userModel *model.User) *UserInfoResponse { response.UserId = userModel.ID response.Username = userModel.UserName response.FirstName = userModel.FirstName response.LastName = userModel.LastName response.Email = userModel.Email response.IsActive = userModel.IsActive response.Permission = userModel.Permission response.CreateDate = timestamppb.New(userModel.CreateDate) response.UpdateDate = timestamppb.New(userModel.UpdateDate) return response }
四 最后
- 至此,go-micro微服务公用函数开发工作就正式完成。
- 接下来就开始服务层Handle层的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。