In first snippet, i didn't get the second if. cond1 is true anyway. Second snippet is equivalent to
if (cond1) { do_stuff() do_other_stuff() } else if cond2 { do_other_stuff() } which is more straightforward than using fallthrough imo. On Wednesday, August 2, 2017 at 9:03:35 AM UTC+2, Konstantin Khomoutov wrote: > > On Tue, Aug 01, 2017 at 05:54:28AM -0700, kultig...@gmail.com > <javascript:> wrote: > > > i believe you should avoid fallthrough statement except for > auto-generated > > code. > > > > it's obscure what you are trying to accomplish with that piece of code, > but > > surely you can do it in a better way. > > They have its valid use to avoid situations like this: > > | if cond1 && cond2 { > | if cond1 { > | do_stuff() > | } > | do_other_stuff() > | } > > which can be rewritten like > > | switch { > | case cond1: > | do_stuff() > | fallthrough > | case cond2: > | do_other_stuff() > | } > > It's not quite visible due to cond* being short, but not so when they > involve comparisons against longish symbols exported from packages. > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.