Go语言基本语法(五)标识符、关键字、操作符、分隔符和字面量

embedded/2024/9/23 9:25:17/

在Go语言中,程序的基本构建块包括标识符、关键字、操作符、分隔符和字面量,它们共同构成了Go语言的语法基础。以下是这些元素的详细介绍:

标识符(Identifier)

Go语言中的标识符是用来命名程序元素(如变量、常量、类型、函数、结构体)的符号序列,遵循以下规则和特点:

  1. 构成与起始字符:标识符必须以字母(A-Z, a-z)或下划线 _ 开始,后面可跟字母、数字(0-9)或下划线的任意组合。
  2. 大小写敏感:Go语言区分大小写,myVariable 和 MyVariable 被视为两个不同的标识符。
  3. 空白标识符_ 是一个特殊标识符,用于丢弃值或作为占位符,任何赋给它的值都会被忽略。
  4. 声明与作用域:标识符需先声明后使用,且在同一作用域内必须唯一。作用域规则决定了其可见性和生命周期。
  5. 命名规则:禁止使用保留关键字作为标识符名称,且不能以数字开头,不包含空格。
  6. 命名约定
    • 简短且有意义:推荐使用描述性强、简洁的名称。
    • 避免与标准库冲突:确保自定义标识符不与标准库中的名称重复。
    • 驼峰命名法:变量、函数、常量通常采用驼峰命名(如 stuNamegetVal)。

当然Go语言中的变量、函数、常量名称的首字母也可以大写,如果首字母大写,则表示它可以被其它的包访问(类似于 Java 中的 public);如果首字母小写,则表示它只能在本包中使用 (类似于 Java 中 private)。

在Go语言中还存在着一些特殊的标识符,叫做预定义标识符,如下表所示:

关键字(Keyword)

关键字是Go语言预先定义的保留字,具有特定的意义和用途,不能用作标识符。
Go语言中的关键字一共有 25 个:

操作符(Operator)

操作符是用于执行特定运算的符号,如算术运算(+、-、*、/、%)、比较运算(==、!=、<、>、<=、>=)、逻辑运算(&&、||、!)和位运算(&、|、^、<<、>>)等。操作符通常与一个或多个操作数一起使用,以完成计算或判断任务。

分隔符(Delimiter)

分隔符是用于界定代码不同部分的符号,帮助解析器理解代码结构。常见的分隔符包括圆括号()、方括号[]、花括号{}、逗号,、分号;(虽然Go语言通常会自动插入分号,但程序员通常不显式写出)、点.等。分隔符帮助确定代码块、参数列表、数组和切片的界限等。

字面量(Literal)

字面量是表示固定值的源代码文本,如数字字面量(如423.14)、字符串字面量(如"Hello, world!")、布尔字面量(truefalse)、字符字面量(如'A')以及复合字面量(如数组、结构体、映射等的初始化表达式)。字面量直接表示数据值,而非变量或其他表达式的结果。


http://www.ppmy.cn/embedded/30294.html

相关文章

【计算机毕业设计】基于SSM++jsp的社区管理与服务系统【源码+lw+部署文档+讲解】

目录 摘 要 Abstract 第一章 绪论 第二章 系统关键技术 第三章 系统分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3运行可行性 3.1.4法律可行性 3.4.1注册流程 3.4.2登录流程 3.4.3活动报名流程 第四章 系统设计 4.3.1登录模块顺序图 4.3.2添加信息模块顺序图 4.4.1 数据库E-…

C#核心之面向对象-封装

面向对象-封装 文章目录 1、类和对象1、什么是类2、类的声明3、类声明语法4、类声明实例5、对象(类)6、实例化对象语法7、实例化对象 2、成员变量和访问修饰符1、成员变量2、访问修饰符3、成员变量的使用和初始值 3、成员方法1、成员方法声明2、成员方法的使用 4、构造函数和…

贪心算法在Python、JavaScript、Java、C++和C#中的多样化实现及其在钱币找零、分数骑士、活动选择、最小生成树与哈夫曼编码问题中的应用示例

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法策略。贪心算法在有最优子结构的问题中尤为有效。下面我将提供5种不同编程语言实现的贪心算法示例&#xff0c;包括活动选…

linux(ubuntu18.04.2) Qt编译 MySQL(8.0以上版本)链接库 Qt版本 5.12.12及以上 包含Mysql动态库缺失问题

整理这篇文档的意义在于&#xff1a;自己走了很多弯路&#xff0c;淋过雨所以想为别人撑伞&#xff0c;也方便回顾&#xff0c;仅供参考 一、搭建开发环境&#xff1a; 虚拟机&#xff08;ubuntu-20.04.6-desktop-amd64&#xff09;&#xff1a;Mysql数据库 8.0.36Workbench …

【Linux驱动层】iTOP-RK3568学习之路(六):定时器

一、函数定义 Linux 内核中使用 timer_list 结构体表示内核定时器&#xff1a; struct timer_list {struct hlist_node entry;unsigned long expires; /* 定时器超时时间&#xff0c;单位是节拍数 */void (*function)(struct timer_list *); /* 定时处理函数 */u32 flags;…

挑战一周完成Vue3项目Day4: 用户管理+角色管理+菜单管理+首页+暗黑模式/主题切换

一、用户管理 1.静态搭建 src/views/acl/user/index.vue <template><el-card style"height:80px;"><el-form :inline"true" class"form"><el-form-item label"用户名&#xff1a;"><el-input placehold…

如何在前端展示后端返回的pdf Base64格式字符串

文章目录 如何在前端展示后端返回的pdf Base64格式字符串 如何在前端展示后端返回的pdf Base64格式字符串 // fileBase64 就是后端返回的 pdf Base64格式字符串getPdfDocument(fileBase64) {let fileBlob this.base64ToBlobsdf(fileBase64,application/pdf);let basePdfUrl …

【Python】深入理解Pandas中的连续变量与分类变量以提升模型训练效果

你啊你&#xff0c;是自在如风的少年 飞在天地间&#xff0c;比梦还遥远 你啊你&#xff0c;飞过了流转的时间 归来的时候&#xff0c;是否还有青春的容颜 &#x1f3b5; 好妹妹《你飞到城市另一边》 引言&#xff1a; 在使用Python进行数据科学和机器学…