Golang: creazione di un tipo costante e limitazione dei valori del tipo

Ho una domanda sui tipi di costanti che sono limitati a determinati valori e su come lo realizzi in Golang. Dire che creo un tipo unary che ha due valori costanti Positive(1) e Negative(-1) e voglio limitare l’utente di quel tipo ( unary ) a creare altri valori di tipo unary . Realizzo ciò creando un pacchetto e rendendo visibili i valori Positive e Negative e rendendo il tipo unary limitato al pacchetto contenente? Vedi il codice qui sotto per esempio

 package unary type unary int////not visible outside of the package unary const ( Positive unary = 1//visible outside of the package unary Negative unary = -1//visible outside of the package unary ) func (u unary) String() string {//visible outside of the package unary if u == Positive { return "+" } return "-" } func (u unary) CalExpr() int {//visible outside of the package unary if u == Positive { return 1 } return -1 } 

È questo il modo corretto per limitare un tipo a determinati valori costanti?