「GO基础」文件名规范、关键字与标识符

news2024/10/6 22:24:02

在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
  • 专栏导航
    • Python面试合集系列:Python面试题合集,剑指大厂
    • GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列:总结好用的命令,高效开发
    • 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

    • 1、文件名规范
    • 2、标识符
    • 3、关键字
    • 4、总结


1、文件名规范

Go语言的源文件以.go为后缀名存储在计算机中。这些文件名的命名规范对于代码的组织和可读性至关重要。为了保持一致性和可读性,文件名通常由小写字母组成,如 stormsha.go,如果文件名由多个部分组成,则使用下划线_进行分隔,如stormsha_nb.go

例如,一个处理用户登录功能的文件可以命名为user_login.go。这种命名方式使得文件的功能和内容一目了然,方便开发者快速定位和理解代码。

此外,文件名中不应包含空格或其他特殊字符。空格可能会在命令行或代码编辑器中引起歧义,而特殊字符可能会导致文件名在不同的操作系统或文件系统中出现问题。因此,使用简洁、清晰的文件名可以提高代码的可移植性和可维护性。

2、标识符

在Go代码中,标识符是用于命名变量、常量、类型、函数、结构体、接口等实体的名称。标识符的命名规范对于代码的可读性和可维护性同样至关重要。

首先,有效的标识符必须以字母(包括Unicode字母)或下划线(_)开头,然后紧跟着零个或多个字符或Unicode数字。例如,X56group1_x23iөԑ12都是有效的标识符。这种命名方式使得标识符具有描述性,能够准确表达其所代表的实体的含义。

其次,Go语言是区分大小写的,因此myVarMyVar是两个不同的标识符。这种区分大小写的特性使得开发者可以通过使用不同的大小写组合来创建更加清晰和有意义的标识符。

最后,有一些标识符在Go语言中具有特殊的含义或用途,例如空白标识符(_)和关键字。空白标识符可以用于忽略函数返回值中的某些值,或者在导入包时忽略包名。而关键字则是Go语言中具有特定语法意义的保留字,例如ifforfunc等。这些关键字不能用作标识符,以避免语法冲突和歧义。

3、关键字

Go语言中的关键字是具有特定语法意义的保留字,它们在语言的语法和语义中起着重要的作用。以下是Go语言中的25个关键字:

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar
  • break:用于跳出循环或switch语句。
  • default:用于switch语句中的默认情况。
  • func:用于定义函数。
  • interface:用于定义接口类型。
  • select:用于在多个通信操作中进行选择。
  • case:用于switch语句中的条件分支。
  • defer:用于延迟执行函数。
  • go:用于启动一个并发的Goroutine。
  • map:用于定义映射类型。
  • struct:用于定义结构体类型。
  • chan:用于定义通道类型。
  • else:用于if语句中的else分支。
  • goto:用于无条件跳转到指定标签。
  • package:用于定义包名。
  • switch:用于多条件判断。
  • const:用于定义常量。
  • fallthrough:用于switch语句中的穿透。
  • if:用于条件判断。
  • range:用于遍历数组、切片、通道等。
  • type:用于定义自定义类型。
  • continue:用于跳过循环中的当前迭代。
  • for:用于循环。
  • import:用于导入包。
  • return:用于从函数返回。
  • var:用于定义变量。

这些关键字在Go语言中具有特定的语法意义,不能用作标识符。正确使用关键字可以提高代码的可读性和可维护性,同时也能够充分利用Go语言的特性。

4、总结

Go语言的命名规范包括文件名规范、标识符和关键字。通过遵循这些规范,开发者可以编写出清晰、可读性和可维护性高的代码。文件名规范使得代码组织更加清晰,标识符的命名规范使得代码的含义更加明确,而关键字的使用则能够充分利用Go语言的特性。因此,在编写Go代码时,开发者应该始终保持良好的命名规范,以提高代码的质量和可读性。


觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1601282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构与算法】最大公约数与最小公倍数

最大公因数(英语:highest common factor,hcf)也称最大公约数(英语:greatest common divisor,gcd)是数学词汇,指能够整除多个非零整数的最大正整数。例如8和12的最大公因数…

社交创新的标杆:解读Facebook的社交模式

引言 在当今数字化时代,社交媒体已成为人们日常生活和沟通的重要工具。作为全球最大的社交媒体平台,Facebook不仅改变了我们的社交模式,而且对全球的社交文化、商业活动和公共事务产生了深远的影响。本文将深入探讨Facebook的社交模式&#…

关于Qt主窗口的菜单部件

前言 在介绍主窗口的两大部件之前,我们要先知道关于主窗口的一些知识。 主窗口 一个主窗口可以没有菜单条、工具条、状态条,但必须设置中心部件。在 Q 生成的 C头文件 ui_mainwindow.h 代码中,我们可以看到以下代码: centralWidget new Qwidget(MainWi…

Three.js加载glb / gltf模型,Vue加载glb / gltf模型(如何在vue中使用three.js,vue使用threejs加载glb模型)

简介:Three.js 是一个用于在 Web 上创建和显示 3D 图形的 JavaScript 库。它提供了丰富的功能和灵活的 API,使开发者可以轻松地在网页中创建各种 3D 场景、模型和动画效果。可以用来展示产品模型、建立交互式场景、游戏开发、数据可视化、教育和培训等等…

BetterDisplay Pro for Mac 显示器校准和优化软件

BetterDisplay Pro for Mac是一款适用于Mac电脑的显示器校准和优化软件。它可以帮助用户校准显示器的颜色、亮度、对比度和伽马值等参数,使得显示器更加准确和清晰,提高用户的工作效率。 BetterDisplay Pro for Mac v2.0.11激活版下载 这款软件具有直观的…

RS232、RS485、RS422、TTL、CAN各自的区别

目录 一:工业串口通信标准RS232、RS485、RS422的区别 第一个区别、硬件管脚接口定义不同 第二个区别、工作方式不同 第三个区别、通信方式不同 第四个区别,逻辑特性不同 第五个区别、抗干扰性、传输距离和传输速率也不同 二:RS232、RS…

记录Python链接mysql数据的增删改查方法

一、添加方法 db pymysql.connect(hostlocalhost,userroot,password123456,dbpython) cursor db.cursor() sql """insert into EMPLOYEEVALUES(3,张,天爱,35,F,8000) """ try:cursor.execute(sql)db.commit() #提交后,数据才会变 …

上班最大的意义,不是那点工资

最近在网上看到这样一段话:“上班最大的意义,不是那点工资,而是工作能让你有规律的生活,有见人的机会,有稳定的社交圈子,还有来自客户,同事,或者或少的压力,一可以锻炼心…

数字革命的先锋:Web3对社会的影响

引言 在信息技术飞速发展的当下,Web3作为一个新兴的互联网模式,正在逐渐改变我们的生活方式、商业模式和社会结构。本文将深入探讨Web3的核心特点、它在各个领域中的应用以及对社会产生的深远影响。 1. Web3的核心特点 1.1 去中心化 Web3强调去中心化…

使用阿里云试用Elasticsearch学习:使用内置模型 lang_ident_model_1 创建管道并使用

文档:https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-deploy-model.html 部署刚刚下载好的内置模型 部署内存不够用 还得花钱,拉几把倒吧。就用自带的吧。 测试模型 POST _ml/trained_models/lang_ident_model_1/_infer {"doc…

大数据快速搭建环境 CDH QuickStart VM虚拟机版本安装

虚拟机镜像安装 下载 https://downloads.cloudera.com/demo_vm/vmware/cloudera-quickstart-vm-5.8.0-0-vmware.zip https://downloads.cloudera.com/demo_vm/vmware/cloudera-quickstart-vm-5.12.0-0-vmware.zip https://downloads.cloudera.com/demo_vm/vmware/cloudera-…

.net core webapi 发布后出现访问不了swagger让人抓狂的原因

.net core webapi 发布出现访问不了swagger让人抓狂 小编最近发布一个测试的webapi,想要给三方测试使用,结果发布后访问不了swagger,找了半天原因急死了。 第一,查看开放端口,都开放了第二,本次编译器执行&#xff0…

FAGLL03H 新增自定义字段

1、SGLPOS_N_GL_CT、SGLPOS_N_CT两个结构新增自定义字段 2、执行t-code:HDBVIEWS 3、实施增强 FAGL_LIB 4、使用select data方法 5、代码示例: method IF_FAGL_LIB~SELECT_DATA.FIELD-SYMBOLS: <fs> TYPE any.FIELD-SYMBOLS <ls_data> TYPE any.F…

Since Maven 3.8.1 http repositories are blocked.

编译maven 项目时候报错提示下面信息&#xff1a; Since Maven 3.8.1 http repositories are blocked.Possible solutions: - Check that Maven settings.xml does not contain http repositories - Check that Maven pom files do not contain http repository http://XXXXXX:…

Proxyman Premium for Mac v5.1.1激活版:卓越的网络调试与分析工具

Proxyman Premium for Mac是一款功能强大的网络调试与分析工具&#xff0c;专为开发人员和测试人员精心打造。它集多种功能于一身&#xff0c;为用户提供了全面、高效的网络开发体验。 Proxyman Premium for Mac v5.1.1激活版下载 作为一款跨平台代理工具&#xff0c;Proxyman …

网站创建的流程是什么

网站的创建过程包括几个主要的步骤&#xff0c;其中涉及到一系列的决策和实践操作。下面我将详细介绍网站创建的流程&#xff0c;帮助读者了解如何创建一个成功的网站。 第一步&#xff1a;确定网站目标和功能 在创建网站之前&#xff0c;你需要明确自己网站的目标和功能。是用…

pytorch Neural Networks学习笔记

&#xff08;1&#xff09;输入图像&#xff0c;13232&#xff0c;通道数1&#xff0c;高32&#xff0c;宽32 &#xff08;2&#xff09;卷积层1&#xff0c;滤波器的shape为6155&#xff0c;滤波器个数6&#xff0c;通道数1&#xff0c;高5&#xff0c;宽5。卷积层1的输出为62…

网络靶场实战-加密固件分析

背景 在漏洞挖掘过程中&#xff0c;想要对二进制程序改进分析&#xff0c;我们就需要获取目标设备的文件系统&#xff0c;这样才能更好的逆向分析设备程序的运行逻辑&#xff0c;从而发现其中的漏洞点。然而并非所有设备固件中的文件系统都可以让我们轻易获取&#xff0c;对于…

什么是上位机?入门指南

什么是上位机&#xff1f; 上位机&#xff08;SCADA&#xff0c;Supervisory Control and Data Acquisition&#xff09;是一种软件系统&#xff0c;用于监控和控制工业过程中的设备。它通常与传感器、执行器和其他自动化设备一起工作&#xff0c;以实时地监视过程状态、收集数…

7 pytorch DataLoader, TensorDataset批数据训练方法

前言 本文主要介绍pytorch里面批数据的处理方法&#xff0c;以及这个算法的效果是什么样的。具体就是要弄明白这个批数据选取的算法是在干什么&#xff0c;不会涉及到网络的训练。 from torch.utils.data import DataLoader, TensorDataset主要实现就是上面的数据集和数据载入…