Hacker News new | past | comments | ask | show | jobs | submit login

You only have to check 1 case in Go (`if err != nil { ... }`). What language lets you check half a case?



  (int64, error)
gives you exactly four possibilities.

Either gives you exactly the two you want.


Please feel free to enumerate them.


  (value, no error)
  (value, error)
  (no value, error)
  (no value, no error)


The convention is that if the err == nil then the value is not nil. The exceptions to this rule are very few and usually specified in the documentation. Normally you only have to check for error.


The fact that it's a convention, and not a compiler error is the entire issue at debate here.


There is no "no value" representation for int64. The only two cases are "<int64>, nil" or "<int64>, <error>".




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

Search: