codecamp

Go语言 关键字和标识符

此篇文章将介绍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

这些关键字可以分为四组:

  • constfuncimportpackagetypevar用来声明各种代码元素。
  • chaninterfacemapstruct用做 一些组合类型的字面表示中。
  • breakcasecontinuedefaultelsefallthroughforgotoifrangereturnselectswitch用在流程控制语句中。 详见基本流程控制语法
  • defergo也可以看作是流程控制关键字, 但它们有一些特殊的作用。详见协程和延迟函数调用

这些关键字将在后续文章中得到详细介绍。

标识符

一个标识符是一个以Unicode字母或者_开头并且完全由Unicode字母和Unicode数字组成的单词。

  • Unicode字母是定义在Unicode标准8.0 中的LuLlLtLmLo分类中的字符。
  • Unicode数字是定义在Unicode标准8.0中的Nd数字字符分类中的字符。

注意:关键字不能被用做标识符。

标识符_是一个特殊字符,它叫做空标识符

以后,我们将知道所有的类型名、变量名、常量名、跳转标签、包名和包的引入名都必须是标识符。

一个由Unicode大写字母开头的标识符称为导出标识符。 这里导出可以被理解为公开(public)。 其它(即非Unicode大写字母开头的)标识符称为非导出标识符。 非导出可以被理解为私有(private)。 截至目前(Go 1.19),东方字符都被视为非导出字符。 非导出有时候也被称为未导出

下面是一些合法的导出标识符:

Player_9
DoSomething
VERSION
Ĝo
Π

下面是一些合法的未导出标识符:

_
_status
memStat
book
π
一个类型
변수
エラー

下面这些不能被用做标识符:

// Unicode数字开头
123
3apples

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

// 这两个是关键字
type
range


Go语言 程序源代码基本元素介绍
Go语言 基本类型和它们的字面量表示
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }