The last time there was a big thread about this, I explained how GCC added “value of brace block is value of last expression” to allow great power, and a fellow poster explained how this came into being with Algol-68.
There is long history in these ideas, and much value, but Go specifically chose not to be an expression language. The limits of this are clear in the ++ statement vs c’s ++ operator. Huge, delicious power in the latter, tepid bit of economy in the former. It was a loss. The offsetting gain was believed to be in avoiding the four decades of confusion about ++ order of evaluation in function arguments and other situations. It’s natural to miss power long held. The Go experiment is about team efficiency in a far simpler language. It feels a great success to me despite the frustration of feeling muzzled. On Fri, Apr 26, 2019 at 6:18 AM Mike Schinkel <m...@newclarity.net> wrote: > I was assuming the compiler did not eliminate it. If it does then my point > is moot. > > -Mike > > Sent from my iPad > > > On Apr 26, 2019, at 9:13 AM, Ian Lance Taylor <i...@golang.org> wrote: > > > >> On Thu, Apr 25, 2019 at 10:57 PM Mike Schinkel <m...@newclarity.net> > wrote: > >> > >> Marcus Low wrote: > >>> > >>> datalen := removedKeyken // removedKeyken must have been int32 in your > example. > >>> if value != nil { > >>> datalen = len(value) > >>> } > >> > >> > >> The issue with this is it makes two assignments when value != nil > instead of just one. > > > > In what sense is that an issue? If you are concerned about > > performance, note that the compiler can eliminate the initial > > assignment in the value == nil case if it is costly. > > > > Ian > > -- > 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. > -- *Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>* -- 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.