 <blockquote> <p><a href="https://golang.org/ref/spec" rel="nofollow">The Go Programming Language Specification</a></p> <p><a href="https://golang.org/ref/spec#Empty_statements" rel="nofollow">Empty statements</a></p> <p>The empty statement does nothing.</p> <p>EmptyStmt = .</p> <p><a href="https://golang.org/ref/spec#Notation" rel="nofollow">Notation</a></p> <p>The syntax is specified using Extended Backus-Naur Form (EBNF):</p> <pre><code>Production = production_name "=" [ Expression ] "." . Expression = Alternative { "|" Alternative } . Alternative = Term { Term } . Term = production_name | token [ "…" token ] | Group | Option | Repetition . Group = "(" Expression ")" . Option = "[" Expression "]" . Repetition = "{" Expression "}" . </code></pre> <p>Productions are expressions constructed from terms and the following operators, in increasing precedence:</p> <pre><code>| alternation () grouping [] option (0 or 1 times) {} repetition (0 to n times) </code></pre> <p>Lower-case production names are used to identify lexical tokens. Non-terminals are in CamelCase. Lexical tokens are enclosed in double quotes "" or back quotes ``.</p> <p>The form a … b represents the set of characters from a through b as alternatives. The horizontal ellipsis … is also used elsewhere in the spec to informally denote various enumerations or code snippets that are not further specified. The character … (as opposed to the three characters ...) is not a token of the Go language.</p> </blockquote> <p>The empty statement is empty. In EBNF (<a href="https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form" rel="nofollow">Extended Backus–Naur Form</a>) form: <code>EmptyStmt = .</code> or an empty string.</p> <p>For example,</p> <pre><code>for { } var no if true { } else { no = true } </code></pre>