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.

Reply via email to