Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The compiler doesn't enforce only those values being acceptable.

I can do:

    myerrorlevel := errorlevel(3458967478)
and the compiler won't complain at all.

It would be good if there was some way of specifying that this type can only accept these values.

Thinking about it, it's the same as nil-safe types - being able to specify to the compiler that this type cannot accept a nil value.



unless errorlevel is exported as ErrorLevel you can only do so inside the declaring package.


Indeed, that was the idea behind keeping it unexported.

From an external package you can only access the explicit values and the functions that accept them as parameters. The type is opaque for the developer.


Yeah, ok, fair point. That kinda works, but enums would be better




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: