두 개의 구조체가 있고 그 중 하나는 protobuf로 만들어지고, 다른 하나는 xorm의 테이블 구조체로 만들어집니다.Go에서 구조체를 비슷한 구조체로 변환하는 방법
[] * UserResult가 필요한 기능이 있지만 [] * Users 만 있습니다.
어떻게 변형합니까?
//user.proto =>
message UserResult {
int64 uid = 1 ;
string name = 2 ;
}
//user.go
type User struct {
uid int64
name string
}
func GetUserList(){
var users []*User
return xorm.xxxx.Get(&users)
}
// server.go
func (s *server)GetUserList() ([]*UserRequest , error) {
users := model.GetUsers()
// here how to make users ---> []*UserRequest ???
}
두 구조체의 형식 레이아웃과 필드 이름이 같은 경우 필드 별 어셈블리를 수행 할 필요가 없으므로 직접 형식 변환 할 수 있습니다 (https : //play.golang). org/p/FqR0-W-BF7 – Kaedys