转到“this”关键字

2024-06-29

深入研究文档后,我找不到以下问题的答案:

有什么理由反对使用this用于引用当前对象,如下例所示?

type MyStruct struct {
  someField string
}

func (this MyStruct) getSomeField() string {
  return this.someField
}

没有技术的有理由不这样做。

它确实违反了所解释的一般准则here https://github.com/golang/go/wiki/CodeReviewComments:

不要使用诸如“me”、“this”或“self”之类的通用名称,这些是面向对象语言的典型标识符,这些语言更强调方法而不是函数。

我还想在使用的语言中添加这一点this (or self), this总是一个pointer。对于 Go 中的方法接收器来说,情况不一定如此。

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

转到“this”关键字 的相关文章

  • Golang中如何删除字符串的最后一个字符?

    我想删除字符串的最后一个字符 但在此之前我想检查最后一个字符是否是 如何才能做到这一点 以下是删除尾随加号的几种方法 package main import fmt strings func TrimSuffix s suffix stri
  • 为什么 Go 中只有 int 而没有 float?

    在 Go 中 有这样的类型int这可能相当于int32 or int64取决于系统架构 我可以声明一个整数变量而不用担心它的大小 var x int 为什么没有这个类型float 这相当于float32 or float64取决于我的系统架
  • 使用覆盖率信息测试 Go 中的 os.Exit 场景 (coveralls.io/Goveralls)

    这个问题 如何在 Go 中测试 os exit 场景 https stackoverflow com questions 26225513 how to test os exit scenarios in go 以及其中得票最高的答案 列出
  • Golang中如何获得100%的代码覆盖率? [复制]

    这个问题在这里已经有答案了 我无法获得 100 的代码覆盖率 因为我无法在 Golang 中测试 Fatals 我发现了一些问答 包括this one https stackoverflow com questions 30688554 h
  • 编写每个处理程序中间件

    我希望从处理程序中提取一些重复的逻辑 并将其放入一些每个处理程序的中间件中 特别是 CSRF 检查 检查现有会话值 即身份验证或预览页面 等 我读了关于此的几篇文章 http justinas org writing http middle
  • 是否可以使用 go:generate 重定向 stdin/stdout

    我有一个充当管道的工具 它从标准输入读取数据并将源代码写入标准输出 是否可以设置输入 输出重定向并将此类工具与 go generate 一起使用 就像是 go generate tool lt file txt gt file go 我想出
  • 使用 StructScan 将 postgresql 数组获取到结构中

    测试数据 CREATE TABLE test id int data text INSERT INTO test id data VALUES 1 a b c 去代码吧 第一个 一个运行良好的 func main db sqlx Open
  • 尝试使用 pkg-config 但它不是注册命令

    好的 我已经在 Windows 8 下建立了整个 Go 开发环境 也使用了 MinGW 我正在使用LiteIde C Go bin go exe build C Users Alyx Go Hi pkg config cflags sdl
  • Golang SSL TCP套接字证书配置

    我正在创建一个 Go TCP 服务器 不是 http s 并且尝试将其配置为使用 SSL 我有一个 StartCom 免费 SSL 证书 我正在尝试使用它来完成此任务 我的服务器代码如下所示 cert err tls LoadX509Key
  • 将 Protobuf 消息持久保存到数据库

    保存使用 protobuf3 定义的数据的正确方法是什么 我使用 golang 和 Java 两者都支持 ORM 在 java 中使用 Hibernate 在 golang 中使用 gorm 这两个地方我都需要将生成的代码转换为相应的实体模
  • 非本地包中的本地导入

    我知道应该避免本地进口 但在这种情况下有特殊情况需要 这是一个私人仓库 heroku buildpack 在go get 由于服务器上缺少私钥 与绝对 URL 一起使用时会出现此阶段 现在我得到这个错误local import in non
  • 如何在Postgresql时间戳中存储Golang time.time?

    我可以知道如何存储time timePostgresql 中的对象 例如 SQL 查询 INSERT INTO UserAccount email login time VALUES email protected cdn cgi l em
  • 如何从 gorm 中的模型获取表名?

    是否可以获得模型的表名 我发现可以从模型结构但我不知道如何正确地做到这一点 我没有找到该结构的任何初始化 user User tableName db 对于 Gorm v2 根据https github com go gorm gorm i
  • 如何修复解析 go.mod 模块将其路径声明为“x”,但需要为“y”

    我正在开发一个 go 项目 它依赖于original project 我现在想通过修改来更改该项目中的行为original project 所以我克隆了github com y original project to github com
  • Go 中的 Map 与 Switch 性能对比

    考虑这个基准 我们比较地图访问与切换 var code int32 0 10 100 100 0 10 0 10 100 14 1000 100 1000 0 0 10 100 1000 10 0 1000 12 var mapCode m
  • 转到“this”关键字

    深入研究文档后 我找不到以下问题的答案 有什么理由反对使用this用于引用当前对象 如下例所示 type MyStruct struct someField string func this MyStruct getSomeField st
  • C++ 中的 golang 风格“延迟”[重复]

    这个问题在这里已经有答案了 我正在阅读有关 go 语言的defer http blog golang org defer panic and recover陈述 它允许您指定函数结束时要执行的操作 例如 如果您有一个文件指针或资源 则只需指
  • 优先级队列和堆

    我正在尝试根据文档中提供的示例实现优先级队列 文件 优先队列 http golang org pkg container heap example 简而言之 它看起来像这样 不包括所有内容 package pq type Item stru
  • 如何在golang中实现带附件的aws ses SendRawEmail

    我需要在 golang 中实现带附件的 Amazon ses SendRawEmail 我尝试使用以下代码 session err session NewSession svc ses New session aws Config Regi
  • Go 中将字符串转换为二进制

    在 Go 中如何将字符串转换为其二进制表示形式 Example 输入 A 输出 01000001 在我的测试中 fmt Sprintf b 75 仅适用于整数 将 1 个字符的字符串转换为字节以获得其数字表示形式 s A st fmt Sp

随机推荐

  • 尝试将远程图像转换为 Base64 数据时出现 CORS 错误[重复]

    这个问题在这里已经有答案了 我需要将远程图像转换为给定其 URL 的 base64 但我遇到了 CORS 错误 并且不确定如何解决 我遵循了这个问题的一些解决方案 如何使用javascript将图像转换为base64字符串 https st
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • Excel幂查询——聚合连续“传递”重叠时间间隔

    我正在尝试使用 Excel 强力查询将下面给出的表 1 聚合到表 2 目标是将同一组的连续时间间隔合并到一行中 对于像事件 5 和事件 6 这样的直接重叠 这非常容易 但这种方法仅合并事件 1 和 2 以及 2 和 3 从而产生两个条目 参
  • 如何检查 Linux 控制台屏幕保护程序是否黑屏

    有没有办法以编程方式 通过 ioctl 等 或通过读取 sys proc 或 dev 中的文件 检查屏幕是否已被 Linux 控制台屏幕保护程序清空 谢谢并致以最诚挚的问候 G nter 好的 检查了 相关代码部分是 include
  • 功能 jqGrid - 它可以渲染的最大行数(关闭分页和虚拟滚动)

    我有一个关于 jqGrid 功能的问题 我们希望关闭分页并在客户端加载所有数据 而不实现虚拟滚动 分页也关闭 jqGrid 可以实际处理多少条记录 因为我们一直在尝试加载 50 000 条记录 20 列 它似乎爆炸了 注意 关闭虚拟滚动并关
  • JRuby调用了错误的方法

    我在调用 Java 方法时遇到了一个奇怪的问题JRuby http en wikipedia org wiki JRuby 在我的 Java 类中 这些方法定义了两次 看来 JRuby 调用了错误的方法 所以我尝试使用java method
  • RubyMine - 没有为项目配置 Ruby 解释器

    我进入 设置 Ruby SDK 和 Gems 然后选择C RailsInstaller Ruby1 9 3 bin ruby exe 它在右侧加载了一堆宝石 看起来它会起作用 我点击 确定 但仍然有糟糕的语法突出显示 并且它仍然认为它没有
  • 从Python列表中挑选出具有特定索引的项目

    我确信在 Python 中有一种很好的方法可以做到这一点 但我对这门语言还很陌生 所以如果这是一个简单的方法 请原谅我 我有一个列表 我想从该列表中挑选某些值 我想要挑选的值是列表中索引在另一个列表中指定的值 例如 indexes 2 4
  • Spacy-nightly (spacy 2.0) 问题“thinc.extra.MaxViolation 大小错误”

    显然成功安装了 spacy nightly spacy nightly 2 0 0a14 和英语模型 en core web sm 后 我在尝试运行它时仍然收到错误消息 import spacy nlp spacy load en core
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变
  • Java XPath API - 获取表示子树的字符串

    我的问题不是关于 xpath 语法 而是与 xpath 周围的 java API 有关 考虑以下 xml
  • express 和 socket.io - 声明和启动服务器

    我一直不明白下面的代码是如何等效的 Code 1 var app require express var server require http Server app var io require socket io listen serv
  • 实体框架中的导航属性是什么

    我是实体框架的新手 当Visual Studio创建模型图时我们主要可以看到Entities Propertie和Navigation Properties这两个东西 那么这些Navigation Properties是什么 如何使用它们
  • 为什么 NaN^0 == 1

    受到早期高尔夫代码的提示 为什么会 gt NaN 0 1 1 这非常有道理NA 0为 1 因为NA缺少数据 并且any数字提高到 0 将得到 1 包括 Inf and Inf 然而NaN应该代表非数字 那么为什么会这样呢 当帮助页面出现时
  • 简单的喷射器将具体类型与生活方式结合起来

    我正在寻找一种可以使用指定的生活方式注册具体类型的方法 基本上如下所示 public void SomeFunction Type concrete Lifestyle lifestyle gt container Register con
  • 如何使用 GWT 创建可点击的链接?

    我想与 GWT 建立一些可点击的链接 我不确定这是否是最佳实践 基本上我想要类似这样的东西 如果我用 html 编写的话 a href index html alt Link a Use a 超级链接 http google web too
  • 如何隐藏 Tkinter python Gui

    有人知道如何隐藏 python GUI Tkinter 我已经创建了键盘记录器 对于 GUI 我使用了 python 模块 Tkinter 我想添加名为 HIDE 的按钮 因此当用户单击它时 它将隐藏 GUI 当用户按下 CTRL E 之类
  • Selenium - WebDriver.findElement() 和 WebElement.findElement() 之间的区别

    我正在使用WebElement findElement By cssSelector click 在页面上查找某个元素 但它返回了 Unable to locate element 但是当我使用WebDriver findElement B
  • modx革命缓慢的后端

    有人想出一种方法来加速 modx 的后端吗 我正在考虑在 modx 中创建一组具有管理员权限的页面来修改网站内容 以便它看起来是定制的 可以在 IE 中运行并且不慢 对此有什么想法吗 您使用的是哪个版本的革命 在最新版本 2 07 中 管理
  • 转到“this”关键字

    深入研究文档后 我找不到以下问题的答案 有什么理由反对使用this用于引用当前对象 如下例所示 type MyStruct struct someField string func this MyStruct getSomeField st