首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

go语言规范推荐以类名第一个英文首字母的小写作为接收器的命名是否合理?

在 Go 语言中,推荐使用类名中第一个英文单词的首字母小写作为接收器(receiver)的命名。这种命名方式被称为"驼峰命名法"(CamelCase)。

这种命名方式具有一定的合理性,因为:

  1. 驼峰命名法有助于提高代码的可读性。当阅读代码时,人们可以快速地通过首字母判断一个变量或函数的作用。
  2. 驼峰命名法符合 Python、Java 等其他编程语言的习惯。这使得代码更容易在不同的编程语言中复用。

例如,在 Go 语言中,可以定义一个名为 User 的结构体,其中包含一些用户信息。在这种情况下,推荐将接收器命名为 user,而不是 User

但是,在某些情况下,使用驼峰命名法可能并不是最佳选择:

  1. 当类名、函数名已经有公认的名称时,使用驼峰命名法可能会导致歧义。
  2. 在一些特定的命名场景下,使用驼峰命名法可能会使代码显得冗长。

综上所述,尽管驼峰命名法在 Go 语言中并不强制要求,但在大多数情况下,使用类名中第一个英文单词的首字母小写作为接收器是一个合理且易于阅读的命名方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

技术规范(2): 后端技术开发规范

命名规范 (1)模块应该用简短全小写的名字,如果为了提升可读性,下划线也是可以用的。Python包名也应该使用简短全小写的名字,但不建议用下划线。 (2)类名一般使用首字母大写的约定。...注意,对于内置的变量命名有一个单独的约定:大部分内置变量是单个单词(或者两个单词连接在一起),首字母大写的命名法只用于异常名或者内部的常量。 (3)因为异常一般都是类,所有类的命名方法在这里也适用。...Go 开发规范 Go 语言规范 Go 代码审核规范官方地址: https://github.com/golang/go/wiki/CodeReviewComments 所有代码在发布前均使用gofmt进行修正...Context 作为函数的第一个参数。...如果接收器是 slice 并且该方法不重新切片或不重新分配切片,则不要使用指向它的指针。 Go 语言规范工具 go 的官方工具链做得很好,可以直接使用gofmt和golint检查代码规范。

1.1K20
  • GO方法与自定义类型

    在面向对象编程语言中,我们可以使用类(class)来模拟现实世界的实体,通过类的属性与方法,我们可以扩展自己想要的类型。...Go语言中并没有类的概念,不过Go支持定义方法(method),Go的方法不是定义在类中的,那Go的方法定义在哪里的呢?在这篇文章中我们就来探讨一下!...type创建的数据类型,Go内置的数据类型不能作为接收器:kotlin 代码解读复制代码//报错,int,string等内置数据类型不能作为接收器func (r int)String(){ if r...Go语言控制可见性是通过首字母是否大小写来实现的,方法名以大写字母开头的可在包外调用,方法名以小写字母开头,则只允许包内调用:go 代码解读复制代码package cart​type Cart struct...接收器的命名惯例指针接收器的作用类似面向对象编程类的this,用于引用对象自身,不过Go并不推荐将接收器命名为this,而是推荐使用接收器类型的首字母小写:go 代码解读复制代码type Reason

    10110

    第11节 编码规范

    本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一个说明。该规范参考了 go 语言官方代码的风格制定。...Go在命名时以字母a到Z或a到Z或下划线开头,后面跟着零或更多的字母、下划线和数字(0到9)。Go不允许在命名时中使用@、$和%等标点符号。Go是一种区分大小写的编程语言。...public); 命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private ) 1、包命名:package 保持package的名字和目录保持一致...my_test.go 3、 结构体命名 采用驼峰命名法,首字母根据访问控制大写或者小写 struct 申明和初始化格式采用多行,例如下面: // 多行申明type User struct{ Username...命名规则基本和上面的结构体类型 单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer 。

    56120

    详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等

    本文将详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等方面。...图片一、标识符命名规范Go 语言的标识符命名规范相对简单,主要遵循以下几条原则:标识符由字母、数字和下划线组成,但不能以数字开头。区分大小写,例如 name 和 Name 是不同的标识符。...使用有意义的名称来描述标识符的用途和含义,尽量避免使用无意义的缩写。遵循驼峰命名法(Camel Case):首个单词小写,后续每个单词首字母大写,例如 myVariable。...二、包名命名规范Go 语言中的包名应该具有简洁、一致和有意义的特点。以下是一些常用的包名命名规范:尽量使用单个英文单词作为包名,避免使用复数形式。...包名应该清晰地描述包所提供的功能,尽量避免使用不相关的名称。包名应避免与标准库或其他第三方库冲突,最好使用全局唯一的名字。三、常量命名规范在 Go 语言中,常量的命名规范与变量的命名规范相似。

    2.8K10

    Java基础语法(四)基本语法和数据类型

    标识符 2.标识符命名规范 3. 关键字与保留字 4.分隔符 5.变量 6.注释 二:数据类型 1.基本数据类型 2.引用数据类型 3.结语 一:java 基本语法 1....构成标识符的字母均有一定的规范 2.标识符命名规范 区分大小写:HelloWorld和helloworld是两个不同的标识符 关键字不能作为标识符 一般使用驼峰命名法 变量名首字母小写,其他单词首字母大写...方法名与变量名相似,驼峰命名法 包名全部小写,必须有唯一性,中间可以使用.分开 类名首字母大写,其他单词首字母大写 接口名首字母大写,其他单词首字母大写 文件名:采用大驼峰法,首字母大写,其他单词首字母大写...分隔符主要有:分号(;)、左右大括号({}) 分号 Java中只使用英文符号,使用半角分号作为每行表达式语句的结束 System.out.println(""); //用半角分号作为这行表达式语句的结束...,第二个大括号是分割方法,第三个大括号是分割条件控制语句 5.变量 变量应该先声明在定义,再使用,变量名命名规范上面有 我们应该先声明她的类型 按照这个格式去做 类型 变量名 = 值; 不要忘记以半角分号结尾

    47320

    史上最全的Java命名规范!告别编码5分钟,命名2小时?

    不同语言中采用的命名形式大相径庭,Java 中常用到的命名形式共有三种,既首字母大写的 UpperCamelCase,首字母小写的 lowerCamelCase 以及全部大写的并用下划线分割单词的 UPPER_CAMEL_UNSER_SCORE...类型约束例项目名全部小写,多个单词用中划线分隔‘-’spring-cloud包名全部小写com.alibaba.fastjson类名单词首字母大写Feature, ParserConfig,DefaultFieldDeserializer...readObject(), getById() 二,包命名  包名统一使用小写,点分隔符之间有且仅有一个自然语义的英文单词或者多个单词自然连接到一块(如 springframework,deepspace...变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 computedValues,index、变量命名时,尽量简短且能清楚的表达变量的作用,命名体现具体的业务含义即可...Less is more 从代码维护角度来讲,代码中的注解一定是精华中的精华。合理清晰的命名能让代码易于理解,对于逻辑简单且命名规范,能够清楚表达代码功能的代码不需要注解。

    3.8K30

    Java命名规范

    不同语言中采用的命名形式大相径庭,Java中常用到的命名形式共有三种,既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单词的UPPERCAMELUNSER_SCORE...类型(名) 约束 例 项目 全部小写 多个单词用中划线分隔'-' spring-cloud 包 全部小写 com.alibaba.fastjson 类 单词首字母大写 Feature, FieldDeserializer...对于测试类则以它要测试的类开头,以Test结尾,如HashMapTest。...变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 computedValues,index、变量命名时,尽量简短且能清楚的表达变量的作用,命名体现具体的业务含义即可...Less is more 从代码维护角度来讲,代码中的注解一定是精华中的精华。合理清晰的命名能让代码易于理解,对于逻辑简单且命名规范,能够清楚表达代码功能的代码不需要注解。

    1.4K31

    变量命名规范

    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。...(二)Class(类)的命名 Class的名字首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:XueTang或ProNine。...(六)方法的命名 方法名的第一个单词应该是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔并限制使用下划线。参数的名字必须和变量的命名规范一致。...:String [ ] name; 而不是:String name [ ]; 值得注意的是,命名时应尽量采用完整的英文描述符。...此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。

    1.7K40

    Java变量命名规范

    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。...Class的名字首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:XueTang或ProNine。变量的名字可大小写混用,但首字符应小写。...方法名的第一个单词应该是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔并限制使用下划线。参数的名字必须和变量的命名规范一致。...使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: 数组应该总是用下面的方式来命名:String [ ] name; 而不是:String name [ ]; 值得注意的是,命名时应尽量采用完整的英文描述符...此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写 总结一下就是:尽量使用完整的英文描述符、采用适用于相关领域的术语、采用大小写混合使名字可读、尽量少用缩写,但如果用了,要明智地使

    2.4K30

    JAVA自学-标识符、变量的来源

    1、标识符的名称应该尽量不要太长,能够表达语义,能够表达出这个标识符的作用(如:你想定义性别的含义,标识符就可以写成sex)   2、推荐标识符以小写字母开头,如果名称有多个单词组成时,使用驼峰命名法(...即除了第一个单词首字母小写外,其他的单词首字母都大写,看起来像驼峰一样,由此得名,需要注意的是,有一个例外的是在定义类、接口的名称时,推荐首字母大写)   3、不要使用中文或者拼音命名,上面第一点提到JAVA...只能由数字、JAVA字母、下划线和美元符号组成,这里的的JAVA字母并不单纯只指英文字母,它的意思是Unicode字符集中包含的字符,其中也包括一些中文汉字,但是命名的时候并不推荐使用中文命名 ---...第一有局限性,编程语言是由国外先普及,很多语言、框架的设计都是使用英文的方式,英语作为全球使用最广泛的语言,有着先天优势,使用中文或者拼音命名需要有汉语基础的人才能够读懂,不利于全球性传播(博主也希望有一定中文语言真的能够流行起来...) 注意事项: 在编码的习惯或者约定俗称中,常量名用大小字母表示,多个单词时用下划线连接如:NUMBER_NAME,变量名则遵循驼峰原则即首单词首字母用小写,其他单词首字母用大写入:numberName

    54320

    Go语言开发规范实践指南

    、下划线、数字 大写字母开头,可以被包外部引用(需要先导入包) 小写字母开头,只可以被包内部调用 目录&package 包命名 尽量保持package的名字和目录一致,采取有意义的包(简短而简洁)名,包名使用小写...一般为驼峰命名,遵循以下规则 变量为私有,首字母小写 变量为公有。...命名规范基本和结构体一致, 但是单个函数习惯以”er”为后缀。...语言规范概述了几个内置的 ,不应在Go项目中使用的名称标识(Go 编程语言规范 - go.dev) 例如: // # 以下关键字是保留的,不能用作标识符。...test.go结尾,并且测试函数命名也有要求,单元测试必须以Test开头后接测试函数名(注意首字母大写),而基准(性能)测试必须以Benchmark开头后接函数名, 而示例函数必须以Example开头后接函数名称

    1.5K20

    Go Code Review Comments 译文(截止2018年7月27日)

    错误信息字符串不应大写(除非以专有名词或首字母缩略词开头)或以标点符号结尾,因为它们通常是在其他上下文后打印的。...In-Band Errors 在 C 和类 C 语言中,通常使函数返回 -1 或 null 之类的值用来发出错误信号或缺少结果: // Lookup returns the value for key...函数应返回一个附加值以指示其他返回值是否有效,而不是要求客户端检查 in-band 错误值。此附加值可能是一个 error,或者在不需要解释时可以是布尔值。它应该是最终的返回值。...Mixed Caps 请参阅 https://golang.org/doc/effective_go.html#mixed-caps。即使 Go 中混合大小写的规则打破了其他语言的惯例,也是适用的。...请注意,以小写单词开头的句子不属于包注释的可接受选项,因为注释是公开可见的,应该用适当的英语书写,包括将句子的第一个单词的首字母大写。

    1.1K30

    Java开发都需要参考的一份命名规范

    不同语言中采用的命名形式大相径庭,Java中常用到的命名形式共有三种,既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单词的UPPERCAMELUNSER_SCORE...image.png 包命名 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英文单词或者多个单词自然连接到一块(如 springframework,deepspace不需要使用任何分割)。...对于测试类则以它要测试的类开头,以Test结尾,如HashMapTest。...变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 computedValues,index、变量命名时,尽量简短且能清楚的表达变量的作用,命名体现具体的业务含义即可...Less is more 从代码维护角度来讲,代码中的注解一定是精华中的精华。合理清晰的命名能让代码易于理解,对于逻辑简单且命名规范,能够清楚表达代码功能的代码不需要注解。

    4.2K30

    令人头疼的代码命名规范……

    (CamelCase) 相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。...测试类命名以它要测试的类的名称开始,以 Test 结尾。如:public class AnnotationUtilsTest{}。...包名命名规范 Java的包名由小写单词组成,包的路径符合所开发的系统模块的定义,以便通过包名可得知其属于哪个模块,从而方便到对应包里找相应的实现类。...Python命名规范 类:总是使用首字母大写单词串。如MyClass、ClassName。内部类可以使用额外的前导下划线。 函数和方法:小写+下划线,如method_name。...常量:常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。 异常:以“Error”作为后缀。 文件名:全小写,可使用下划线 包:应该是简短的、小写的名字。

    5.6K31

    这是谁做的作业!C语言编码太不规范了...

    命名规范 应用程序的命名 “系统简称”+模块名称 子模块的命名 每个子模块的名字应该由描述模块功能的1-3以单词组成。每个单词的首字母应大写。在这些单词中可以使用一些较通用的缩写。...如果接口包含多个单词,每个单词的首字母大写,其他字母小写,如果,这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写为Xml)。 类的命名 类名称要以大写字母开头。...类成员变量的命名规则与上述规则相同,但是要以“m_”开始,表示其为成员变量(Member)。 类名称不能出现下划线。 方法的命名 方法名称以小写字母开头。...方法名称如果包含多个单词,除了第一个单词外,每个单词的首字母大写,其它字母小写。如果这些单词是缩略语(例如XML),也要首字母大写,其它字母小写(写作Xml)。...数据库的命名 1) 表 采用“模块名简称+前缀+’_’+表名”的命名规则。表名以能理解该表的内容为原则, 可由中文表示,也可由代表此表含义的英文字母组成;首字母大写;前缀代表此表类别。

    1.3K20

    C语言编码规范

    2-命名规范 应用程序的命名 “系统简称”+模块名称 子模块的命名 每个子模块的名字应该由描述模块功能的1-3以单词组成。每个单词的首字母应大写。在这些单词中可以使用一些较通用的缩写。...使用有意义的英语单词,使用大小写分隔,每个单词的第一个字母为大写 image.png 考虑到习惯性和简洁性,对于按常规使用的局部变量允许采用极短的名字,如用n、i作为循环变量,p、q作为指针等。...类的命名 类名称要以大写字母开头; 类名称如果包含多个单词,每个单词的首字母要大写,其他字母小写;如果这些单词是缩略语(例如XML),也要首字母大写,其他字母小写(写作Xml); 类名称应该是一个名词或名词短语...方法的命名 方法名称以小写字母开头。 方法名称如果包含多个单词,除了第一个单词外,每个单词的首字母大写,其它字 母小写。...数据库的命名 表: 采用“模块名简称+前缀+’_’+表名”的命名规则。表名以能理解该表的内容为原则, 可由中文表示,也可由代表此表含义的英文字母组成;首字母大写;前缀代表此表类别。

    2.3K20

    【JavaSE专栏4】关键字、标识符和命名规范

    ---- 三、命名规范 3.1 基本命名规范 基本命名规范是所有 Java 开发者必须要遵守的,否则代码无法完成编译。 类名和接口名:每个单词首字母需要大写。 包名:多个单词组成的所有小写字母。...变量名,函数名:多个单词组成的时候,除了第一个单词外,其他的单子首字母大写(驼峰)。 常量名:多个单词组成,所有单词全部大写,单词之间用下划线分隔开。...测试类一般以 Test 结尾,实现类一般以 Impl 结尾,异常类一般以 Exception 结尾 3.2.2 方法名 通常是见名知意的名词,驼峰命名,首字符小写。...3.2.3 变量名 通常是见名知意的名词,首字符小写,驼峰命名,如 userName、userMobile。 不建议使用中文缩写来命名,不建议使用下划线作为连接。...3.2.5 包命名 使用小写英文字母进行命名。 多层包之间用点进行分隔。 一般采用域名倒写的方式进行命名,如 cn.zwz.entity。

    32130

    Golang 基础之知识普及

    本章节内容 Go语言的介绍 编程规范 Go语言的介绍 Go语言是由谷歌公司在2007年开发的一门语言,目的是能在多核心时代高效编写网络应用程序。...编程规范 命名规范 包命名 保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。包名应该为小写单词,不要使用下划线或者混合大小写。...文件命名 尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。 非单元测试文件不要以_test结尾,go编译器默认 x_test.go 为单元测试文件,不会进行编译。...变量命名 采用驼峰法,通过首字母大小写来控制是否包外可见。 特殊名词的首字母缩写需要按照规范来,例如 URLProxy 或者 urlProxy 不要命名为 UrlProxy。...接口命名 单个函数的接口名以"er"作为后缀,例如 type Reader interface {…} 两个函数的接口名综合两个函数名,例如 type WriteFlusher interface {…

    91801
    领券