Go--命名规则
在Go语言中,项目名和文件名的命名规则有一些建议和惯例。以下是一些常见的规则和最佳实践:
项目名:
- 项目名应该简短、有意义,并能够清晰地表达项目的目的或功能。
- 项目名通常使用小写字母,使用连字符或下划线分隔单词。
- 项目名不应包含特殊字符或空格。
- 项目名应尽量避免与现有的库或包名冲突。
文件名:
- 文件名应该简短、有意义,并能够清晰地表达文件的用途。
- 文件名通常使用小写字母,使用连字符或下划线分隔单词。
- 避免使用过长的文件名,以减少文件路径的长度。
- 文件名中不应包含特殊字符或空格。
命名约定:
- Go语言有一些惯例,例如使用
init函数初始化程序、使用main函数作为程序的入口点。 - 结构体的命名通常使用大驼峰式命名法(例如
Person)。 - 常量和变量通常使用小写字母和下划线命名(例如
max_value)。 - 函数和方法通常使用动词或动词短语命名(例如
calculateSum)。
- Go语言有一些惯例,例如使用
命名规范:
- 避免使用保留字作为变量名或函数名。
- 尽量保持代码的可读性和可维护性,选择具有描述性的名称。
- 使用一致的命名约定,以提高代码的可读性和可维护性。
跨平台考虑:
- 避免使用平台特定的名称或格式,以确保代码在不同平台上的兼容性。
- 考虑使用标准化的文件路径和命名约定,以避免在不同操作系统上的兼容性问题。
可读性和文档注释:
- 在代码中添加适当的文档注释,以帮助其他人理解代码的意图和功能。
- 使用清晰、简洁的注释来解释代码中的关键部分和逻辑。
版本控制:
- 使用版本控制系统(如Git)来跟踪代码的变化和管理版本。
- 为项目和文件添加适当的元数据(如版本号、创建日期等)。
补充:
变量
- 变量名只能由字母、数字和下划线组成,且必须以字母或下划线开头。
- 变量名不能使用Go语言中的关键字。
- 变量名应具有描述性,尽量避免使用缩写或简写,除非有明确的命名约定或代码风格要求。
- 变量名应具有一致的命名规则,以提高代码的可读性和可维护性。
- 变量名中的字母应全部小写,多个单词之间使用下划线分隔。
- 如果变量名以大写字母开头,那么它是导出的(public),可以被其他包访问。
- 如果变量名以小写字母开头,那么它是非导出的(private),只能在当前包内访问。
函数
- 函数名应该小写字母开头,后面可以跟随小写字母、数字和下划线。
- 函数名应该具有描述性,能够清晰地表达函数的意图和功能。
- 避免使用Go语言中的保留字作为函数名。
- 函数名应该简洁且易于记忆。
- 如果函数名包含多个单词,它们之间应该使用大写字母拼接
- 避免使用具有特殊含义的缩写或简写作为函数名。
- 函数名不应该与标准库中的函数名冲突。
- 如果函数是一个公共函数(public function),那么函数名的首字母应该大写;如果函数是一个私有函数(private function),那么函数名的首字母应该小写。
结构体
- 结构体名以大写字母开头,则可以在其他包中访问,若以小写字母开头,则只可在当前包中访问;后面可以跟随小写字母、数字和下划线。
- 结构体名应该具有描述性,能够清晰地表达结构体的意图和功能。
- 避免使用Go语言中的保留字作为结构体名。
- 结构体名应该简洁且易于记忆。
- 如果结构体名包含多个单词,它们之间应该使用大写字母拼接。
- 避免使用具有特殊含义的缩写或简写作为结构体名。
- 结构体名不应该与标准库中的类型名冲突。
- 如果结构体内变量的命名是大写字母开头,则表示该变量是一个导出(public)变量,可以在结构体的方法或函数外部访问;
- 如果结构体内变量的命名是小写字母开头,则表示该变量是一个非导出(private)变量,只能在结构体内部访问。
Go--命名规则的更多相关文章
- [No00009E]几种常见的命名规则
变量命名规则 必须遵循的命名规则 1. 变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2. 变量名只能是字母(a-z A ...
- 小猪cms命名规则整理
1.模板命名规则: 类名+函数名称+.html 2.Model命名规则: 数据库表名:cms_user_data 文件名称命名: UserDataModel.class.php <?php cl ...
- Java的书写格式,标识符及命名规则,注释
Java的书写格式,标识符及命名规则,注释 1.Java语言的书写格式(约定成俗) 1) 大括号要对齐(左大括号与句尾对其,后面大括号与句头对齐),并且成对写 2) 左大括号前面有空格 3) 遇到左大 ...
- .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]
注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释 以//开头,后面的就是注释内容 ...
- c#代码命名规则
c#代码命名规则 以前没有考虑过命名的这个问题,写起来就是随心所欲,想怎么搞就怎么搞,在但是代码越写越乱,连自己都搞不清楚了,不得不进行认真考虑.参考了一些文章,形成以下想法: 一. ...
- css的命名规则
本文转载自谈笑涧<css的命名规则> 操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.35 ...
- 有利于SEO的DIV+CSS的命名规则
搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很关键的步骤.为了更加符合SEO的规范,下面是目前流行的CSS+DIV的命名规则: 页头:header登录条:loginBar标志:logo ...
- html页面的CSS、DIV命名规则
CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...
- linux 文件权限、类型、命名规则
文件权限 -rwxr-x--t 文件类型 用户权限 组权限 其他用户权限 umask是一个掩码,设置文件的默认权限,会屏蔽掉不想授予该安全级别的权限,从对象的全权权限中减掉:对文件全权权 ...
- css笔记1: html页面的CSS、DIV命名规则
原地址:http://www.cnblogs.com/rising-fay/archive/2013/02/25/2932592.html CSS命名规则 头:header 内容:content/co ...
随机推荐
- 🔥🔥想快速进入人工智能领域的Java程序员?你准备好了吗?
引言 今天我们来探讨一下作为Java程序员,如何迅速融入人工智能的领域.,当前有一些流行的LLMs选择,例如ChatGPT.科大讯飞的星火.通义千问和文心一言等.如果你还没有尝试过这些工具,那么现在也 ...
- Mac 终端命令查看WiFi连接日志【原创】
写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00 ,对应下班时间是 17:00-19:00 ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就 ...
- 双指针:盛最多水的容器(4.18leetcode每日一题)
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...
- [编程]UML语言:理论之光与实践之惑
UML介绍及现状 UML(统一建模语言)是软件工程领域中具有悠久历史的一种模型化语言工具.它通过标准化的图形符号体系,使得软件系统的蓝图能够被更直观地表达出来.UML诞生于20世纪90年代,经过多年积 ...
- 京东面试:说说Cookie、Session和Token的区别?
东子作为目前传统电商三巨头之一(其他还有阿里巴巴和拼多多),其面试题的难度也中规中矩,总体来说没有其他两家面试难度高,当然薪资也没有其他两家薪资高. 其中拼多多的薪资最为离谱,尤其是前几年,听说挖同行 ...
- TPC-DS工具介绍及性能测试
一. Hive-testbench工具介绍 TPC-DS:https://www.cnblogs.com/webDepOfQWS/p/10544528.html 由于原生态工具生产测试数据表存在bug ...
- 聊一聊Rust的enum
enum在实际编程中是非常常用的,enum的目的就是为了清晰定义出散落在系统各个角落的相同概念的有限固定值. 一.enum介绍如果是简单定义固定值,我们可以使用常量const.比如 public co ...
- Java8新特性Stream流
1.是什么? Stream(流)是一个来自数据源的元素队列并支持聚合操作 2.能干嘛? Stream流的元素是特定类型的对象,形成一个队列. Java中的Stream并不会存储元素,而是按需计算. 数 ...
- flower插件-监视celery
安装和使用: https://flower.readthedocs.io/en/latest/install.html#installation https://github.com/mher/flo ...
- 数字孪生和GIS的融合能够为智慧水务带来什么帮助?
数字孪生和地理信息系统(GIS)的融合在智慧水务领域有着重要的应用前景.让我们一起探讨数字孪生和GIS如何合作,为智慧水务系统带来了哪些帮助. GIS系统提供了准确的地理数据,包括水资源.管道网络.水 ...