Go | 簡單介紹關鍵字標識符
💬 簡介
在 Go 語言的世界裡,關鍵字和標識符是程式碼構建的基礎元素。它們不僅定義了程式的結構和行為,也規範了程式中可以使用的名稱。這篇文章將揭開這些元素的面紗,簡單介紹 Go 中的關鍵字和標識符,幫助你更清楚了解它們的角色。
圖片來源:Gophers(地鼠造型的原創者為 Renee French)
🔑 Go 語言中的關鍵字
在 Go 語言中,關鍵字是已經被語言系統保留並賦予特殊含義的詞彙。這些關鍵字無法用來命名變數、常數、函式等程式元素,因為它們承擔著程式控制的功能。
- 以下是 Go 語言中的關鍵字:
1
2
3
4
5break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var📝 這些關鍵字是語言的基本組成部分,用來構建程式的各種結構,如條件判斷、迴圈、函式、結構體等。在寫程式時,這些字詞不可以當作變數名稱,否則會導致編譯錯誤。
🏷️ Go 語言中的標識符
標識符是用來命名 Go 程式中變數、常數、函式、類型等元素的名稱。標識符可以是你自定義的名稱,但必須遵循 Go 的命名規範。標識符的選擇對於程式的可讀性與可維護性至關重要。
常見的標識符分類
1️⃣ 常數標識符
這些是 Go 語言內建的常數,具有特定的值,無法被更改:
1 | true false |
2️⃣ 類型標識符
這些是 Go 語言支持的基本資料類型:
1 | int int8 int16 int32 int64 |
3️⃣ 函式標識符
這些是 Go 語言提供的內建函式,它們執行特定操作,幫助我們在程式中實現常見的功能:
1 | make len cap new append |
📝 這些標識符常用於處理資料結構、記憶體操作、錯誤處理等常見任務。
⚠️ 注意事項
關鍵字與標識符的區別
- 關鍵字:有特定語法功能,無法作為標識符來使用。這些保留字對於程式的解析和運行至關重要。
- 標識符:由開發者自定義的名稱,用來表示變數、函式、常數、類型等。標識符可以靈活命名,但必須遵循命名規範。
命名規則
- 標識符必須以字母(
a-z
,A-Z
)或底線(_
)開頭,後續可以包含字母、數字(0-9
)或底線。 - Go 語言是區分大小寫的,因此
Variable
和variable
被視為不同的標識符。
✨ 額外補充:合法與非法標識符
標識符的命名規範是相當重要的,它直接影響程式的可讀性和編譯是否成功。以下是一些合法與非法的標識符範例,這些範例有助於了解如何正確命名變數、常數、函式等程式元素。
✅ 合法的導出標識符
標識符的首字母決定了它是否為“導出標識符”。若標識符以大寫字母開頭,則它是可以導出的,可以在其它包中使用。如果以小寫字母開頭,它則是非導出的,僅能在當前包內使用。
1 | Player_9 |
📝 這些都是合法且符合 Go 語言命名規範的標識符,並且可以根據命名首字母的規則來決定是否為導出標識符。
✅ 合法的非導出標識符
1 | _ |
📝 這些標識符符合 Go 語言的命名規範,但由於它們的首字母是小寫,因此它們是非導出標識符,僅能在當前包中使用。
❌ 不能用作標識符的標記
Go 語言有一些特定的命名規範,這些標識符無法被用來命名變數或其他程式元素:
以 Unicode 數字開頭的標識符:
1
2123
3apples📝 這些標識符會引發錯誤,因為 Go 不允許標識符以數字開頭。
包含無效的 Unicode 字符的標識符:
1
2
3
4a.b
*ptr
$name
a@b.c📝 這些標識符包含了無法被接受的字符,像是點 (.)、星號 (*)、美元符號 ($)、以及其他一些特殊字符。
關鍵字:
1
2type
range📝 這些是 Go 語言的保留字,具有特殊語法功能,因此不能作為標識符來使用。
🎯總結
掌握 Go 語言的關鍵字與標識符是學習這門語言的基本步驟。關鍵字是語言結構的一部分,標識符則是程式中命名元素的核心。理解並正確使用它們,不僅有助於編寫語法正確的程式,也能提高程式的可讀性和可維護性。
最後建議回顧一下 Go | 菜鳥教學 目錄,了解其章節內容。
註:以上參考了
Go
The Go Programming Language Specification
Go-Keywords