One document about Go

Alex Makhotin alex at bitprox.com
Wed Jun 2 13:50:05 PDT 2010


Steven Schveighoffer wrote:
> where we don't want to (I've done it many times).  This is one of those 
> rare cases where people can easily type valid code that does not do what 
> they want.

The reason I ask is because I sometimes do empty statements 
intentionally by placing a semicolon (surprised?). DMD doesn't allow me 
to do it, so I put {} as it asks.

In contrast, Microsoft C/C++ does(with opt. /Wall):
> warning C4390: ';' : empty controlled statement found; is this the intent?

I think it's correct way it should be done.

And about the question of omitting semicolon. I don't like the optional 
use of it. In this respect I don't like the GO's way it inserts 
semicolons automatically by the lexer(!).

Just one excerpt from http://golang.org/doc/effective_go.html
> One caveat. You should never put the opening brace of a control structure (if, for, switch, or select) on the next line. If you do, a semicolon will be inserted before the brace, which could cause unwanted effects. Write them like this
> 
> if i < f() {
>     g()
> }
> 
> not like this
> 
> if i < f()  // wrong!
> {           // wrong!
>     g()
> }

I prefer ANSI(Allman) style(second example, wrong).
They want to force Java-like style which I dislike much.



-- 
Alex Makhotin,
the founder of BITPROX,
http://bitprox.com


More information about the Digitalmars-d mailing list