当前位置: 首页 > 面试题库 >

类似Golang变量的命名约定

阎志义
2023-03-14
问题内容

在几种情况下,我具有相同的基础值表示为多种类型。

范例:

userIDString := r.URL.Query("id")
userID, err :=  strconv.Atoi(userIDString)

我需要在不同的地方使用上述两个变量。

相似地

recordSeparator = rune(30)
recordSeparatorString = string(30)

我命名此类变量的方法是否被认为是惯用的?如果不是这样的话,理想的命名约定是什么?

PS:我认为这个问题主要不是基于意见的,我正在寻找引用流行的go项目/标准库中的命名约定的答案。


问题答案:

该领域中可能最权威的书《 Go编程语言》在 10.6包和命名 一节中讨论了该主题:

  • 保持简短名称,但不要使名称含糊(user超过userName
  • 软件包名称通常采用单数形式(除非与预声明的类型存在冲突)
  • 选择名称,以便它们在包的上下文中读取,例如net.IP

此外,还有一个不错的幻灯片套牌,其中的“名称”可以解决一些问题,还有一些信息性的Reddit线程,也可能很有用。

根据我的经验(除上述内容外),大多数命名约定都是特定于项目或公司的。



 类似资料:
  • 问题内容: Java常数变量有任何命名约定吗? 通常,我们使用名称包含大写字母和下划线()的变量。 例如: 问题答案: 是。这就对了。它也经常用于。 唯一常见的例外是记录您可能会看到的位置 但是我更喜欢 我通常将其写为UPPER_CASE,但我也为类编写TitleCase,为变量和方法编写camelCase。

  • 问题内容: 在PHP中,我们(至少是优秀的程序员)总是以小写字母开头的通用变量名称,而以大写字母开头的类变量/对象则区分它们。以相同的方式,我们以小写字母开头的通用文件名,但是包含具有大写字母的类的文件。 例如: Java中的约定是否相同,即对象以大写字母开头,其余对象以小写字母开头?还是像我在其他地方读过的所有内容都以小写字母开头? 问题答案: 通常,所有变量都以小写字母开头: 有些人喜欢在所有

  • 问题内容: 我将发布我的代码: 应该注意的是,ServerSession也是一个接口,对我来说,调用“ ServerSessioner”是一种感觉。 我正在玩用IsRole()和AssumeRole()创建接口的想法,但是“ Roler”似乎很奇怪。我突然意识到,除了标准的“ er”后缀之外,我真的不知道或者从未遇到过接口的命名约定。我确实记得VS C ++约定是在所有内容前都加上“ I”。这是“

  • 问题内容: 有一条规则说: 代表常量(最终变量)的名称必须全部使用大写字母,并使用下划线分隔单词(摘自http://geosoft.no/development/javastyle.html) 对于基本类型(例如int或字符串)可以很好地工作: 但是非原始类型呢?在大多数情况下,我已经看到以下内容: 或单例,实例变量不是大写的。 问题是声明这些类型的变量(如日志和实例)的正确方法是什么? 问题答案

  • 问题内容: 在网页上,有两个控件块(主要和次要),大多数人会使用什么类名? 选择1: 选择2: 问题答案: 直接问题的答案是正确的在这之下,由柯特。 如果您对CSS类命名约定感兴趣,我建议考虑一种非常有用的约定,即 BEM ( Block,Element,Modifier )。 更新 请在此处详细了解-这是一个较新的版本,它使以下答案过时了。 主要原理: 一个页面是由独立的块构成的。块是HTML元

  • 为了在跨API开发中向开发者提供一致的开发体验,所有的命名应该保证: 简单 直观 一致 这适用于接口、资源、集合、方法以及消息的命名。 因为很多开发者并非以英语作为母语,所以命名约定的目标之一是确保大多数开发者可以更容易理解 API。对于方法和资源,我们鼓励使用简单、直观和一致的单词来命名。 API 中的命名应该使用正确的美式英语。例如,使用美式英语的 license 而非英式英语的 licenc