此篇文章將介紹Go中的關(guān)鍵字和標(biāo)識符。
關(guān)鍵字是一些特殊的用來幫助編譯器理解和解析源代碼的單詞。
截至目前(Go 1.19),Go中共有25個(gè)關(guān)鍵字。
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
這些關(guān)鍵字可以分為四組:
const
、func
、import
、package
、type
和var
用來聲明各種代碼元素。chan
、interface
、map
和struct
用做 一些組合類型的字面表示中。break
、case
、continue
、default
、 else
、fallthrough
、for
、 goto
、if
、range
、 return
、select
和switch
用在流程控制語句中。
詳見基本流程控制語法。defer
和go
也可以看作是流程控制關(guān)鍵字, 但它們有一些特殊的作用。詳見協(xié)程和延遲函數(shù)調(diào)用。這些關(guān)鍵字將在后續(xù)文章中得到詳細(xì)介紹。
一個(gè)標(biāo)識符是一個(gè)以Unicode字母或者_
開頭并且完全由Unicode字母和Unicode數(shù)字組成的單詞。
注意:關(guān)鍵字不能被用做標(biāo)識符。
標(biāo)識符_
是一個(gè)特殊字符,它叫做空標(biāo)識符。
以后,我們將知道所有的類型名、變量名、常量名、跳轉(zhuǎn)標(biāo)簽、包名和包的引入名都必須是標(biāo)識符。
一個(gè)由Unicode大寫字母開頭的標(biāo)識符稱為導(dǎo)出標(biāo)識符。 這里導(dǎo)出可以被理解為公開(public)。 其它(即非Unicode大寫字母開頭的)標(biāo)識符稱為非導(dǎo)出標(biāo)識符。 非導(dǎo)出可以被理解為私有(private)。 截至目前(Go 1.19),東方字符都被視為非導(dǎo)出字符。 非導(dǎo)出有時(shí)候也被稱為未導(dǎo)出。
下面是一些合法的導(dǎo)出標(biāo)識符:
Player_9
DoSomething
VERSION
?o
Π
下面是一些合法的未導(dǎo)出標(biāo)識符:
_
_status
memStat
book
π
一個(gè)類型
??
エラー
下面這些不能被用做標(biāo)識符:
// Unicode數(shù)字開頭
123
3apples
// 含有不符合要求的Unicode字符
a.b
*ptr
$name
a@b.c
// 這兩個(gè)是關(guān)鍵字
type
range
更多建議: