测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
Golang基础----Golang中的标识符、关键字和命名规范
收藏本文
作者:redrose2100 类别: 日期:2022-08-02 08:55:56 阅读:847 次 消耗积分:0 分
[TOC] # 一、标识符 标识符,通俗的讲,就是给变量、常量、函数、方法、结构体、数组、切片、接口起名字 ## 1.1 标识符的组成 在 Go 语言中,标识符的组成和其他编程语言类似,如下: * 标识符有字母、数字和下划线组成 * 标识符只能以字母或下划线开头,不能以数字开头 * 标识符区分大小写 # 二、关键字 关键字字,就是在Go语言中内置定义了一些标识符,这些标识符已经存在固定的含义了,在自定义变量名时不能再使用关键字了,Go语言中的关键字包含25个基本关键字和36个预定义标识符 ## 2.1 25个基本关键字 |break|default|func|interface|select| |:--:|:--:|:--:|:--:|:--:| |case|defer|go|map|struct| |chan|else|goto|package|switch| |const|fallthrough|if|range|type| |continue|for|import|return|var| ## 2.2 36个预定义标识符 |append|bool|byte|cap|close|complex|complex64|complex128|uint16| |:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:| |copy|false|float32|float64|imag|int|int8|int16|uint32| |int32|int64|iota|len|make|new|nil|panic|uint64| |print|println|real|recover|string|true|uint|uint8|uintptr| # 三、命名规范 命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名 ## 3.1 公有私有的命名规范 * 当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:GetUserName,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public); * 命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private ) ## 3.2 包名称命名规范 * 保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。包名应该为小写单词,不要使用下划线或者混合大小写 如: ```bash package user package service ``` ## 3.3 文件命名规范 * 尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。 如: ```bash user_api.go ``` ## 3.4 结构体命名规范 结构体命名规范采用驼峰法,首字母根据是否提供外部使用决定是否使用大小写 ```bash type CustomerOrder struct { Name string Address string } ``` ## 3.5 接口命名规范 接口命名规范也是采用驼峰法,此外单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer ```bash type Reader interface { Read(p []byte) (n int, err error) } ``` ## 3.6 变量名命名规范 变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写,但遇到特有名词时,需要遵循以下规则: * 如果变量为私有,且特有名词为首个单词,则使用小写,如 appService * 若变量类型为 bool 类型,则名称应以 Has, Is, Can 或 Allow 开头 如: ```bash var isExist bool var hasConflict bool var canManage bool var allowGitHook bool ``` ## 3.7 常量命名规范 常量均需使用全部大写字母组成,并使用下划线分词 ```bash const APP_URL = "https://www.baidu.com" ``` ## 3.8 异常处理的规范 错误处理的原则就是不能丢弃任何有返回err的调用,不要使用 _ 丢弃,必须全部处理。接收到错误,要么返回err,或者使用log记录下来尽早return:一旦有错误发生,马上返回,尽量不要使用panic,除非你知道你在做什么,错误描述如果是英文必须为小写,不需要标点结尾,采用独立的错误流进行处理 ```bash // 错误写法 if err != nil { // 错误处理 } else { // 正常代码 } // 正确写法 if err != nil { // 错误处理 return // 或者继续 } // 正常代码 ``` ## 3.9 单元测试规范 单元测试文件名命名规范为 example_test.go 测试用例的函数名称必须以 Test 开头,例如:TestExample 每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试 。 ![](https://redrose2100.oss-cn-hangzhou.aliyuncs.com/img/252585ca-e432-11ed-9bcd-0242ac110004.png)
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/332
上一篇:
Shell----Shell编程快速入门
下一篇:
Gitlab----在 Linux 上安装Gitlab
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件