面试题答案
一键面试命名规则
- 字符组成:Go 语言标识符由字母(包括 Unicode 字母)、数字和下划线组成。
- 首字符限制:标识符必须以字母或下划线开头,不能以数字开头。
- 关键字冲突:不能与 Go 语言的关键字(如
if
、else
、for
等)同名。 - 长度限制:理论上长度没有限制,但实际中应保持合理长度以提高代码可读性。
词法分析器识别方式
词法分析器按从左到右的顺序扫描源程序字符流,当遇到字母或下划线开始的字符序列时,会持续读取后续字符,只要后续字符是字母、数字或下划线,就会将其识别为一个标识符,直到遇到不属于这些字符类型的字符为止。
合法标识符示例
myVar
:以字母开头,由字母和下划线组成。_underscore
:以下划线开头,合法。Var123
:以字母开头,包含字母和数字。
非法标识符示例
123var
:以数字开头,非法。if
:与关键字同名,非法。my-var
:包含连字符,不属于允许的字符类型,非法。