将非接口称为“*er”是惯用的吗

2024-01-26

The 《有效行动》 http://golang.org/doc/effective_go.html#interface-names states:

按照惯例,单方法接口由方法名称加上 -er 后缀或类似修饰来构造代理名词:Reader, Writer, Formatter, CloseNotifier etc.

bufio.io包包含这个:

// Reader implements buffering for an io.Reader object.
type Reader struct {
    buf          []byte
    rd           io.Reader
    r, w         int
    err          error
    lastByte     int
    lastRuneSize int
}

将结构命名为“*er”是惯用的吗?尤其是在这种情况下,它是struct同名io.Reader这是一个接口。


如果它不在Effective Go 或规范中,那么这确实是一个意见问题,我会说只要有意义就可以。

Using bufio.Reader or bytes.Reader例如,他们这样命名就很有意义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将非接口称为“*er”是惯用的吗 的相关文章

随机推荐

  • 绘图大小 - 在 IPython Notebook 中使用 ggplot2(通过 rmagic)

    我已经开始将 R 的使用集成到 Notebook 中 从我的角度来看 这是为了两全其美 Python 中的数据管理 同时利用 R 的相对分析 图形优势 不幸的是 我沉迷于一个看似简单的元素 调整 ggplot2 图形的绘图大小 使用 pan
  • 对于不带任何参数的方法来说,显式生命周期有什么意义?

    第 295 页Rust 编程 http shop oreilly com product 0636920040385 do您可以找到以下内容 幸运的是 标准库包含了总体实现 impl lt a T U gt AsRef u for a T
  • 如何打乱键值对?

    我有一组值需要在需要时进行洗牌 我不知道哪种变量类型最适合我 数据实际上是基于key value结构的 比如 100 white 200 black 300 red 就这样 我想做的是根据我还不知道的某种算法来更改键值对 但是它们需要像这样
  • 正则表达式,将多个斜杠替换为一个

    这似乎是一个很容易解决的问题 但它并不像看起来那么容易 我在 PHP 中有这个字符串 postname 这是一个 URL 我不想连续出现多个斜杠 我从来不想完全删除斜线 它应该是这样的 postname 因为结构可能看起来不同 所以我认为我
  • Django ORM 在 Postgres DB 上留下空闲连接

    最近 我的 Django 应用程序由于数据库连接错误而频繁崩溃 OperationalError FATAL sorry too many clients already 当我进入应用程序数据库时 我看到确实有近 100 个打开的连接 所有
  • Powershell 在第一个特殊字符出现后删除文本

    这是我必须解析的值 8 2 4 151 65 HBAAPI I v1 3 3 29 02 我需要删除第一个实例之后的所有内容 包括第一个实例 所以我需要我的最终结果是8 2 4 151 65 s 8 2 4 151 65 HBAAPI I
  • 事件源 -> 服务器批量返回事件流而不是块返回

    我有一个 php 脚本 可以通过验证从 csv 文件导入大数据 为此 我需要向用户展示进度 我为此使用了事件流 当我回显某些内容时 我希望将其一一传输到客户端 而不是服务器批量发送整个输出 我已经尝试过 ob start ob implic
  • 底部图例,两行包裹在 r 中的 ggplot2 中

    library ggplot2 library scales library reshape2 Rdates lt c 2007 01 31 2007 02 28 2007 03 30 2007 04 30 2007 05 31 2007
  • 在 C# 中显示/隐藏主窗体

    我正在开发一个程序 单击 form1 上的按钮将打开 form2 然后我将隐藏 form1 直到 form2 关闭 我遇到的问题是 form2 关闭后无法显示 form1 有想法该怎么解决这个吗 try Form1 ActiveForm H
  • 如何解决 SQLite 数据库的错误路径?

    Overview 我添加了一些代码来将现有数据库复制到设备的本地文件夹 到目前为止第一个条件如果现有数据库尚不存在工作正常 Issue 但是 当执行将现有数据库从解决方案文件夹复制到设备文件夹的代码行时 我收到 SQLite 错误 该错误告
  • 如何使用 ASP Classic 获取当前虚拟目录的名称?

    如何使用 ASP Classic 获取当前虚拟目录的名称 在 ASP NET 中你可以使用Request ApplicationPath找到这个 例如 假设您有一个如下 URL http localhost virtual director
  • Google Tv 模拟器 AVD 系统映像

    您好 我正在尝试在我的 Windows 机器中设置 google tv 模拟器 我能够安装 api level 13 中提供的 google tv add on 但是当我尝试创建 AVD 时 它会抛出错误消息 请安装 intel x86 但
  • PostgreSQL 中表达式索引的实际限制

    我需要使用 HSTORE 类型和键索引来存储数据 CREATE INDEX ix product size ON product data gt Size INT CREATE INDEX ix product color ON produ
  • Python套接字不发送不接收

    我从 python 文档中复制了 echo 服务器示例 它工作正常 但是当我编辑代码时 它不会将数据发送回客户端 第二次调用 socket recv 方法时不会返回 import socket HOST PORT 50007 s socke
  • 如何建模“特色”的概念(即当一位艺术家在歌曲中“特色”时)

    有时 一首歌会有不止一位艺术家参与 例如 Jay z 的新歌 A Star is Born 以艺术家 Cole 为主角 因此在目录中将被列为 Jay z featuring Cole A Star is Born 我的问题是如何在我的数据库
  • cron 是用 php 编写基于提醒的应用程序的最佳方式吗?

    假设我有一个这样的数据库 task time Remind me to water plants 2018 02 18T19 32 10 486Z English Test 2018 10 8T09 30 00 000Z Math Test
  • 如何为网站启用 Chromecast?

    This article https support google com chromecast answer 3265953 hl en CA解释了 支持 Chromecast 的网站 的好处 更高的质量 支持 Chromecast 的网
  • SvelteKit:CSS 中引用的静态资源的开发/构建和路径问题

    在 Svelte 文件的 CSS 部分中 假设我使用背景图像 div background image url img bg jpg 图像文件位于static文件夹 static img bg jpg 这个简单的示例在开发模式下完美运行 如
  • Winforms 双缓冲

    我将其添加到表单的构造函数代码中 this SetStyle ControlStyles AllPaintingInWmPaint ControlStyles UserPaint ControlStyles DoubleBuffer tru
  • 将非接口称为“*er”是惯用的吗

    The 有效行动 http golang org doc effective go html interface names states 按照惯例 单方法接口由方法名称加上 er 后缀或类似修饰来构造代理名词 Reader Writer