美文网首页
Go Lexical

Go Lexical

作者: JunChow520 | 来源:发表于2020-12-29 02:46 被阅读0次

    Go语言词法元素分为五种,分别是标识符(identifier)、关键字(keyword)、操作符(operator)、分隔符(delimiter)、字面量(literal),词法元素是构成Go语言代码和程序的最基本单位。

    关键字

    • 关键字是被 语言赋予特殊含义的单词,又称为保留字。
    • Go语言关键字共有25个,之所以刻意的保持较少的关键字是为了简化编译过程中代码的解析。
    • 关键字不能够作为标识符使用

    标识符

    • 标识符是对变量、函数、方法等命名时所使用的字符序列。
    • 标识符由若干字母、数字、下划线组成,首字符必须为字母。
    • 同一个代码块内不能出现重复的标识符

    标识符使用之前必须声明,声明标识符也就是将标识符与常量、变量、类型、函数或代码包相互绑定到一起。

    标识符命名规则

    • 由26个英文字母、0~9数字、下划线组成
    • 标识符禁止使用数字开头
    • Go语言严格区分大小写
    • 标识符不能包含空格
    • 标识符不能使用关键字

    标识符命名建议

    • 标识符尽量简短且有意义
    • 标识符禁止和标准库中的包名重复
    • 推荐采用小驼峰法命名标识符
    • 常量、变量、函数名称首字母大写表示可被其他包访问,相当于public
    • 常量、变量、函数名称首字母小写表示只能在本包内访问,相当于private

    空白标识符

    • 下划线是一个特殊的标识符,又称为空白标识符。
    • 空白标识符可用于变量的声明和赋值,任何类型都可以赋值给空白标识符。
    • 任何赋值给空白标识符的值都会被抛弃,因此赋予的值不能在后续代码中使用。
    • 不能使用空白标识符作为变量对其他变量进行赋值或运算

    预定义标识符

    • Go语言中拥有36个基础数据类型和内置函数的名称被作为预定义标识符
    • 预定义标识符禁止当作普通标识符来使用

    运算符

    • 运算符是用来在程序中执行数学或逻辑运算
    • Go语言中表达式中可包含多个运算符,运算符之间存在优先级。
    优先级 分类 运算符 结合性
    1 逗号 , 从左到右
    2 赋值 =、+=、-=、*=、/=、%=、>=、<<=、&=、^=、|= 从右到左
    3 逻辑或 || 从左到右
    4 逻辑与 && 从左到右
    5 按位或 | 从左到右
    6 按位异或 ^ 从左到右
    7 按位与 & 从左到右
    8 对等 ==、!= 从左到右
    9 关系 <、<=、>、>= 从左到右
    10 位移 <<、>> 从左到右
    11 加减 +、- 从左到右
    12 乘除取余 *、/、% 从左到右
    13 单目 !、*、&、++、--、+、- 从右到左
    14 后缀 ()、[]、-> 从左到右
    • 优先级值越大表示优先级越高

    相关文章

      网友评论

          本文标题:Go Lexical

          本文链接:https://www.haomeiwen.com/subject/liwxoktx.html