package reply type SuccessReply struct { Code int32 `json:"code"` Message string `json:"message"` Data interface{} `json:"data"` } type ReplyFunc func(data any) any var wrapReplyFunc ReplyFunc = defaultFunc func defaultFunc(data any) any { success := &SuccessReply{ Code: 0, } if data != nil { success.Data = data } return success } func WrapReply(data any) any { return wrapReplyFunc(data) } func SetReplyFunc(f ReplyFunc) { if f == nil { panic("reply: SetReplyFunc: f is nil") } wrapReplyFunc = f }