2016-03-08 114 views
3

在Python中,我們可以使用pass子句作爲佔位符。
Golang中的等價條款是什麼?
;還是別的?Golang的空話是什麼?

+1

的'pass'關鍵字在Python是一些特別的東西,不需要在大多數編程語言。這是用於構造代碼的縮進的副作用。在Go空白語句代表它自己。 –

回答

4

The Go Programming Language Specification

Empty statements

空語句什麼也不做。

EmptyStmt =。

Production = production_name "=" [ Expression ] "." . 
Expression = Alternative { "|" Alternative } . 
Alternative = Term { Term } . 
Term  = production_name | token [ "…" token ] | Group | Option | Repetition . 
Group  = "(" Expression ")" . 
Option  = "[" Expression "]" . 
Repetition = "{" Expression "}" . 

製作是從術語構造表達式和下面 運營商,在增加優先級:

| alternation 
() grouping 
[] option (0 or 1 times) 
{} repetition (0 to n times) 

Notation

的語法使用擴展巴科斯範式(EBNF)中指定

小寫生產名稱用於識別詞彙標記。 非終端在CamelCase中。詞彙標記包含在雙「 」引號「」或後引號「」中。

形式a ... b表示從a到b的字符集合,作爲 替代方案。水平省略號...也在 規範中的其他地方用於非正式地表示各種枚舉或代碼片段,其中 未被進一步指定。角色...(與三個 角色......相對)不是Go語言的標誌。

空的語句是空的。在EBNF(Extended Backus–Naur Form)窗體中:EmptyStmt = .或一個空字符串。

例如,

for { 
} 

var no 
if true { 
} else { 
    no = true 
} 
+0

你可以舉一個關於'EmptyStmt = .'的例子。也就是說,關於拖尾點的含義是什麼。 :) – andy

+0

這就是答案。 :) – andy