I dunno either, because it's incredibly trivial.
func assert(cond bool){
if !cond {
panic("whoopsies")
}
} func assert(cond bool){
if !cond {
panic("whoopsies")
}
}Go does have build tags, so one could have 2 files for the assert function, each with opposite build tag logic. It does allow for an effective NOP (it would be a stub function and I believe the compiler would eliminate that).
But this would come with a performance penalty: it makes the function you assert() in no longer a leaf function (it calls assert()) and AFAIK, Go only inlines leaf functions. (So, any function in which you call assert() is no longer eligible for inlining.)