Go語言 關鍵字和標識符

2023-02-16 17:36 更新

此篇文章將介紹Go中的關鍵字和標識符。

關鍵字

關鍵字是一些特殊的用來幫助編譯器理解和解析源代碼的單詞。

截至目前(Go 1.19),Go中共有25個關鍵字。

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

這些關鍵字可以分為四組:

  • constfunc、import、package、typevar用來聲明各種代碼元素。
  • chan、interfacemapstruct用做 一些組合類型的字面表示中。
  • break、casecontinue、default、 elsefallthrough、for、 goto、ifrange、 return、selectswitch用在流程控制語句中。 詳見基本流程控制語法。
  • defergo也可以看作是流程控制關鍵字, 但它們有一些特殊的作用。詳見協(xié)程和延遲函數(shù)調用。

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

標識符

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

  • Unicode字母是定義在Unicode標準8.0 中的Lu、LlLt、LmLo分類中的字符。
  • Unicode數(shù)字是定義在Unicode標準8.0中的Nd數(shù)字字符分類中的字符。

注意:關鍵字不能被用做標識符。

標識符_是一個特殊字符,它叫做空標識符。

以后,我們將知道所有的類型名、變量名、常量名、跳轉標簽、包名和包的引入名都必須是標識符。

一個由Unicode大寫字母開頭的標識符稱為導出標識符。 這里導出可以被理解為公開(public)。 其它(即非Unicode大寫字母開頭的)標識符稱為非導出標識符。 非導出可以被理解為私有(private)。 截至目前(Go 1.19),東方字符都被視為非導出字符。 非導出有時候也被稱為未導出

下面是一些合法的導出標識符:

Player_9
DoSomething
VERSION
?o
Π

下面是一些合法的未導出標識符:

_
_status
memStat
book
π
一個類型
??
エラー

下面這些不能被用做標識符:

// Unicode數(shù)字開頭
123
3apples

// 含有不符合要求的Unicode字符
a.b
*ptr
$name
a@b.c

// 這兩個是關鍵字
type
range


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號