关键字和标识符

本文详细介绍了Go语言中的25个关键字及其分类,包括声明、类型、流程控制及特殊用途关键字。同时,深入探讨了标识符的定义、构成规则及导出与非导出标识符的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字和标识符

关键字

关键字是一些特殊的用来帮助编译器理解和解析源码的单词。
截止目前(Go1.13),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中的Lu、Ll、Lt、Lm和Lo分类中的字符
  • Unicode数字是定义在Unicode标准中的Nd数字字符分类中的字符
  • 注意:关键字不能被用作标识符
  • 标识符_是一个特殊字符,它叫做空标识符

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

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

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

Player_9
DoSomething
VERSION
Ĝo
Π

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

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

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

// Unicode数字开头
123
3apples

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

// 这两个关键字
type
range
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值