@lookingfor2

Как правильно написать дженерик?

Есть метод, как правильно заменить data interface{} на дженерик?
func (c BaseController) Message(w http.ResponseWriter, code int, data interface{}) {
	c.Respond(w, code, map[string]interface{}{"status": code, "data": data})
}

Можно обойтись без any?
Message[D any](w http.ResponseWriter, code int, data []D)


Например описать как то по аналогии с ts
{ [key: string]: number | string }
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
type Number interface {
    int64 | float64
}
func Message[D Number | string](w http.ResponseWriter,  data []D) {}


или

func Message[D  int64 | float64 | string](w http.ResponseWriter,  data []D) {}

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 14:38
8000 руб./за проект
07 мая 2024, в 14:38
15000 руб./за проект
07 мая 2024, в 14:36
70000 руб./за проект