Нет, вы не можете накладывать ограничения на int независимо от того, определяете ли вы его как пользовательский тип или нет.Самое близкое, что вы можете получить, это что-то вроде следующего кода, использующего конструкцию с именем iota
type Month int
const (
Jan Month = iota + 1
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
)
func main() {
fmt.Println(Jan, Feb, Mar)
}
. Это выведет 1 2 3
.Для этого есть гораздо больше применений, вы можете найти больше информации здесь https://splice.com/blog/iota-elegant-constants-golang/
Это не гарантирует, что вы не можете назначить случайные значения для результирующей переменной, но пока вы используете определенные константы вездес тобой все будет в порядке.