关键字和标识符

关键字和标识符

关键字

关键字是一些特殊的用来帮助编译器理解和解析源码的单词。
截止目前(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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在C#中,关键字是编译器预先定义好的一些单词,也可以称为保留字或保留标识符。这些关键字对编译器有特殊的意义,不能用作标识符。C#共有77个关键字,如图1.5所示。\[2\] 而标识符是用来识别类、变量、函数或任何其他用户定义的项目的字符串。在C#中,标识符必须以字母、下划线或@开头,后面可以跟一系列的字母、数字、下划线。标识符中的第一个字符不能是数字,也不能包含任何嵌入的空格或符号。此外,标识符不能是C#关键字,除非它们有一个@前缀。标识符必须区分大小写,大写字母和小写字母被认为是不同的字母。\[1\] 在C#中,标识符的命名约定有以下几点:标识符只能包含字母(包括大小写)、数字、@符号以及下划线,首位不能为数字,也不能是C#关键字标识符的命名风格有三种:Pascal大小写,Camel大小写和下划线加Camel大小写。不同的命名风格适用于不同的情况,如图1.4所示。\[2\] 总结起来,关键字是编译器预先定义的单词,具有特殊意义,不能用作标识符。而标识符是用来识别类、变量、函数等用户定义的项目的字符串,有一定的命名约定和命名风格。\[2\]\[1\] #### 引用[.reference_title] - *1* [C#梳理【标识符关键字】](https://blog.csdn.net/qiaoquan3/article/details/77802118)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【C#基础学习】第四章、标识符关键字](https://blog.csdn.net/Hoghst_debug/article/details/127944419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C#关键字标识符](https://blog.csdn.net/weixin_66598341/article/details/129649260)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值