Go語言 關(guān)鍵字和標(biāo)識符

2023-02-16 17:36 更新

此篇文章將介紹Go中的關(guān)鍵字和標(biāo)識符。

關(guān)鍵字

關(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、typevar用來聲明各種代碼元素。
  • chan、interface、mapstruct用做 一些組合類型的字面表示中。
  • break、case、continuedefault、 else、fallthrough、for、 gotoifrange、 return、selectswitch用在流程控制語句中。 詳見基本流程控制語法。
  • defergo也可以看作是流程控制關(guān)鍵字, 但它們有一些特殊的作用。詳見協(xié)程和延遲函數(shù)調(diào)用。

這些關(guān)鍵字將在后續(xù)文章中得到詳細(xì)介紹。

標(biāo)識符

一個(gè)標(biāo)識符是一個(gè)以Unicode字母或者_開頭并且完全由Unicode字母和Unicode數(shù)字組成的單詞。

  • Unicode字母是定義在Unicode標(biāo)準(zhǔn)8.0 中的Lu、Ll、Lt、LmLo分類中的字符。
  • Unicode數(shù)字是定義在Unicode標(biāo)準(zhǔn)8.0中的Nd數(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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號