关键字和标识符

此篇文章将介绍Go中的关键字和标识符。

关键字

关键字是一些特殊的用来帮助编译器理解和解析源代码的单词。

截至目前(Go 1.23),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
这些关键字可以分为四组:

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

标识符

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

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

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

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

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

下面是一些合法的导出标识符:
Player_9
DoSomething
VERSION
Ĝo
Π
下面是一些合法的未导出标识符:
_
_status
memStat
book
π
一个类型
변수
エラー
下面这些不能被用做标识符:
// Unicode数字开头
123
3apples

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

// 这两个是关键字
type
range

目录↡

Go101.org网站内容包括Go编程各种相关知识(比如Go基础、Go优化、Go细节、Go实战、Go测验、Go工具等)。后续将不断有新的内容加入。敬请收藏关注期待。

本丛书微信公众号(联系方式一)名称为"Go 101"。二维码在网站首页。此公众号将时不时地发表一些Go语言相关的原创短文。各位如果感兴趣,可以搜索关注一下。

《Go语言101》系列丛书项目目前托管在Github上(联系方式二)。欢迎各位在此项目中通过提交bug和PR的方式来改进完善《Go语言101》丛书中的各篇文章。我们可以在项目目录下运行go run .来浏览和确认各种改动。

本书的twitter帐号为@Golang_101(联系方式三)。玩推的Go友可以适当关注。

你或许对本书作者老貘开发的一些App感兴趣。

The English version of this book is here.
赞赏
(《Go语言101》系列丛书由老貘从2016年7月开始编写。目前此系列丛书仍在不断改进和增容中。你的赞赏是本系列丛书和此Go101.org网站不断增容和维护的动力。)

目录: