最終更新日: 2026-07-25
TOP(About this memo)) > 一覧(Go) > ジェネリクス
...
return handle(c, &request.DeclineFriendRequest{}, (nil, http.StatusOK, func(req *request.DeclineFriendRequest) (any, error) {...})
...
func handle[REQ, DATA any, RES ResponseHasSet[DATA]](c echo.Context, request *REQ, res RES, successStatusCode int, logic func(*REQ) (DATA, error)) error {
...
}
...
return handle(c, &request.DeclineFriendRequest{}, (*response.EmptyData)(nil), http.StatusOK, func(req *request.DeclineFriendRequest) (any, error) {...})
return handle[request.DeclineFriendRequest, any, *response.EmptyData](c, &request.DeclineFriendRequest{}, nil, http.StatusOK, func(req *request.DeclineFriendRequest) (any, error) {...})
func main() {
var x int
var y any
f(x) // ok
// f(y) // compile error
_ = y
}
func f[T comparable](x T) {}