.
├── base
│ ├── go.mod
│ ├── request
│ │ └── member.go
│ └── response
│ └── member.go
├── go.work
├── sdk
│ ├── api
│ │ └── demo.go
│ └── go.mod
└── webapps
├── go.mod
└── main.go
webapps/main.go
package main
import (
"base/request"
"context"
"fmt"
"log"
"sdk/api"
)
func main() {
ctx := context.Background()
api := sdk.NewMemberApi()
rt, err := api.GetInfo(ctx, request.GetMemberInfoReq{
Uid: 2,
})
if err != nil {
//TODO
log.Println(err)
return
}
fmt.Printf("%+v", rt)
}
sdk/api/demo.go
package sdk
import (
"base/request"
"base/response"
"context"
)
type MemberApi interface {
// GetInfo 获取用户信息
GetInfo(ctx context.Context, req request.GetMemberInfoReq) (*response.MemberInfoRsp, error)
}
func NewMemberApi() MemberApi {
api := &Member{}
return api
}
type Member struct {
}
func (sf Member) GetInfo(ctx context.Context, req request.GetMemberInfoReq) (*response.MemberInfoRsp, error) {
return &response.MemberInfoRsp{
Uid: req.Uid,
Nickname: "aa",
}, nil
}
base/response/member.go
package response
type MemberInfoRsp struct {
Uid int64 `json:"uid"`
Nickname string `json:"nickname"`
}
base/request/member.go
package request
type GetMemberInfoReq struct {
Uid int64
}
喜欢就关注下吧,点赞!