【go语言】——方法集

在 Go 语言中,方法集(method set)是指与某个类型(无论是值类型还是指针类型)相关联的方法的集合。

1.值类型的实例与方法集

值类型的实例具有方法集,这些方法集只包含 值接收者 方法。你可以对值类型实例调用它的值接收者方法。如果该值类型的方法是指针接收者(pointer receiver),Go 会自动将其转为指针来调用该方法。

type T struct {x int
}// 值接收者方法
func (t T) PrintX() {fmt.Println("PrintX:", t.x)
}// 指针接收者方法
func (t *T) Increment() {t.x++
}func main() {t := T{x: 10}t.PrintX()  // 可以调用值接收者方法t.Increment() // Go 会自动将 t 转为指针调用指针接收者方法t.PrintX()  // 输出增量后的值
}输出结果:
PrintX: 10
PrintX: 11

 2.指针类型的实例与方法集

指针类型的实例具有方法集,它包含 值接收者 方法和 指针接收者 方法。你可以通过指针类型的实例调用值接收者和指针接收者的方法。如果方法是值接收者,Go 会自动将指针类型实例转为值类型来调用。

type T struct {x int
}// 值接收者方法
func (t T) PrintX() {fmt.Println("PrintX:", t.x)
}// 指针接收者方法
func (t *T) Increment() {t.x++
}func main() {t := &T{x: 10}t.PrintX()     // 调用值接收者方法时 Go 会自动将指针转换为值t.Increment()  // 调用指针接收者方法t.PrintX()     // 输出增量后的值
}输出结果:
PrintX: 10
PrintX: 11

以上可以帮助你更好地理解 Go 的方法集和接收者类型之间的关系~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27394.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大模型学习笔记】0基础本地部署dify教程

目录 一、准备工作1、安装包下载1.1 安装git1.2 安装docker(1)默认安装(2)自定义路径安装(推荐)1.3 验证docker1.4 切换镜像源 二、下载dify源码三、启动dify1、在docker目录下启动dify2、验证3、浏览器中输入 一、准备工作 本地…

unity pico开发 五 UI交互

文章目录 添加画布添加交互组件取消传送射线对UI的控制解决按扳机键会传送的冲突按下按键呼出菜单,并让菜单出现在头的前方 添加画布 创建一个新画布,添加一个Button,将画布改为world space,然后缩放改为0.001,调整到…

上海公共数据授权运营实践详解(政策制度、运营模式、运营平台、运营成果、场景案例)

近期,国家公共数据资源登记平台正式上线,将进一步推动公共数据授权运营加速推动。本期分享:上海市公共数据授权运营实践,上海公共数据授权运营为统一集中授权,上海数据集团作为上海公共数据授权运营的唯一单位&#xf…

HTTP超文本传输协议

HTTP超文本传输协议 HTTP的基本原理HTTP请求的组成HTTP响应的组成HTTP请求方法HTTP状态码HTTP的无状态性和持久连接HTTPS(HTTP Secure)Cookie 和 SessionCookieSession对比 总结 HTTP(超文本传输协议)是一种用于从Web服务器传输超…

android TabLayout设置tab的时候文字默认居中,选中文字加粗

1、前言如题 TabLayout设置tab的时候文字默认居中,在TabLayout布局增加以上代码。 tab选中文字加粗,需要重写TabLayout的customview进行设置。 app:tabMaxWidth"0dp" app:tabGravity"fill" app:tabMode"fixed"

二叉树专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》

目录 一、B3642 二叉树的遍历 - 洛谷 算法代码: 1. 代码结构 头文件和命名空间: 常量定义: 结构体定义: 前序遍历函数: 中序遍历函数: 后序遍历函数: 主函数: 2. 代码思路…

健康饮食,健康早餐

营养早餐最好包含4大类食物:谷薯类;碳水;蛋白质;膳食纤维。 1.优质碳水 作用:提供持久的能量,避免血糖大幅波动等 例如:全麦面包、红薯🍠、玉米🌽、土豆🥔、…

使用Linux服务器搭建。

前言: 本文将简述如何使用vmware模拟Linux搭建服务器环境。并配置相关安全措施。 本文工具: Centos Stream 9 图文详细安装记录_centos9安装教程详解-CSDN博客 xshell,服务器远程连接工具。 https://old.xp.cn/linux.html#install-show …

Artec Leo+Ray II 三维扫描仪成功为VR展数字化30吨重设备-沪敖3D

挑战:在贸易展上展示重达30吨的机械设备,同时克服设备搬运和展示的难题,减轻物流负担。。 解决方案:Artec Leo、Artec Ray II、Artec Studio、Blender、Unity、Microsoft HoloLens、HTC VIVE PRO 效果:在虚拟展厅中&am…

期权帮|如何判断股指期货市场是否值得做空呢?

锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 如何判断股指期货市场是否值得做空呢? 如果你觉得市场下跌的可能性较大,那么就可以考虑做空股指期货。但记住,做空有风险,操作需…

qt实践教学(编写一个代码生成工具)持续更新至完成———

前言: 我的想法是搭建一个和STM32cubemux类似的图形化代码生成工具,可以把我平时用到的代码整合一下全部放入这个软件中,做一个我自己专门的代码生成工具,我初步的想法是在下拉选框中拉取需要配置的功能,然后就弹出对…

操作系统:计算机架构里的幕后指挥官

Linxu系列 文章目录 Linxu系列前言一、操作系统的概念二、操作系统的工作原理三、操作系统对软硬件资源的管理总结 前言 在上篇博客中,我们介绍了冯诺依曼体系,,但是冯诺依曼体系结构出现的都是硬件设备,难道需要用户去操作、管理…

DNS 详细过程 与 ICMP

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 DNS (Domain Name System) 快速了解🦋 DNS 背景🦋 域名简介🦋 真实地址查询 —— DNS🎀 域名的层级关系&am…

【C/C++算法】从浅到深学习--- 位操作算法(图文兼备 + 源码详解)

绪论:冲击蓝桥杯一起加油!! 每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论​: 今天总结了下位操作中常见的使用的方法,并且附加许多训练,通过…

【每日八股】计算机网络篇(二):TCP 和 UDP

目录 TCP 的头部结构?TCP 如何保证可靠传输?1. 确认应答机制2. 超时重传3. 数据排序与去重4. 流量控制5. 拥塞控制6. 校验和 TCP 的三次握手?第一次握手第二次握手第三次握手 TCP 为什么要三次握手?问题一:防止历史连接…

Tomcat-web服务器介绍以及安装部署

一、Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用…

【通俗讲解电子电路】——从零开始理解生活中的电路(三)

实际应用案例:生活中的电子电路 ——拆解你身边的“隐形工程师” 1. 手电筒电路:最简单的直流系统 电路组成 电源:2节1.5V电池(串联3V)。 开关:按钮控制回路通断。 LED:发光二极管&#xff…

部署Windows Server自带“工作文件夹”实现企业网盘功能完整步骤

前文已经讲解过Windows Server自带的“工作文件夹”功能,现以Windows Server 2025为例介绍部署工作文件夹的完整步骤: 为了确保您能够顺利部署和充分利用工作文件夹的功能,我将按照以下步骤进行讲解。 请注意,在域环境中部署工作…

详解LSM树

目录 什么是LSM树 磁盘结构与顺序IO LSM树结构 LSM树的写入 SSTable合并 LSM树的读取 LSM树的删除 总结 什么是LSM树 LSM 树全名日志结构合并树(Log-Structured Merge Tree),是一种用于存储和管理数据的树状数据结构,常用…

ABAP语言的动态编程(3) - data reference 对象

如果数据对象的类型在运行时才知道,就需要用到 data reference 对象。 Data references can point to any data objects or to their parts (components, rows of internal tables, or sections specified by offsets and lengths) 也就是说 data reference 对象其实…