ReceivedCodes {
badRequest: 400,
unauthorized: 401,
notFound: 404,
internalServerError: 500,
}Что бы не надо было инициализировать эти значения отдельно, а сразу их задать? Можно это сделать через const, но хотелось бы именно через тип.
const (
badRequest = 400,
unauthorized = 401,
notFound = 404,
internalServerError = 500,
)
все статус коды обьявлены в net/http
статус коды это часть примера. Там могут быть и не только HTTP коды
зачем? для красивого кода? пихайте в отдельную директорию и будет вам dir.BadRequest или что вы там хотите
даже StatusTeapot = 418
Но спасибо за наводку. Посмотрел как это сделано в net/http, там все через const. Видимо нет другого варианта.
Идея была в том, что бы нельзя было передать код, которого нет в моем типе.
Если функция, которая отправляет данные в БД, а именно код. Этот код может быть как стандартный HTTP, так и кастомный меньше ноля. И что бы другие программисты не могли передать в функцию в БД неверный код, я хочу заранее определить коды, которые можно отправлять. И что бы Go сам проверял, можно ли отправить этот код или нет. Конечно, в рантайме подобной ошибки не избежать, но ее уже отловит функция в БД.
> Конечно, в рантайме подобной ошибки не избежать, вот и не занимайтесь .....
ты можешь создать кастомный тип type MyCustomType int и присвоить ему встроенный тип который тебе надо.
Писал второе сообщение, и пока писал понял что уж лучше использовать const
> присвоить ему встроенный тип который тебе надо. Вот эту часть совсем не понял. Как я к int могу присвоить какой-то другой тип?
Просто передавай кастомный вместо инта
Обсуждают сегодня