当前位置: 首页 > news >正文

go语言学习笔记

1 定义

在 Go 语言里,结构体的方法(method)绑定到特定类型上的函数
它让你可以用面向对象的风格(对象.方法())来操作结构体的数据。

2 方法的基本概念

  • 方法的本质还是函数,只是它有一个接收者(receiver)

  • 接收者可以是:

    • 值接收者func (p Person) ...
      → 接收者是结构体的副本。

    • 指针接收者func (p *Person) ...
      → 接收者是结构体的地址,可以修改原结构体的内容。

3 语法

func (接收者名 接收者类型) 方法名(参数列表) 返回值列表 {
// 方法体
}

举例:

package mainimport "fmt"type Person struct {Name stringAge  int
}// 值接收者方法
func (p Person) SayHello() {fmt.Printf("Hi, my name is %s and I am %d years old.\n", p.Name, p.Age)
}// 指针接收者方法
func (p *Person) GrowUp() {p.Age++
}func main() {tom := Person{Name: "Tom", Age: 20}tom.SayHello() // 调用值接收者方法tom.GrowUp()   // 调用指针接收者方法tom.SayHello()
}

http://www.lryc.cn/news/619904.html

相关文章:

  • 初识神经网络05——构建神经网络3
  • C# 反射入门:如何获取 Type 对象?
  • 深度学习流体力学:基于PyTorch的物理信息神经网络(PINN)完整实现
  • Spring Boot项目通过Feign调用三方接口的详细教程
  • 力扣top100(day02-04)--二叉树 01
  • 阿里云Anolis OS 8.6的公有云仓库源配置步骤
  • 旧版MinIO的安装(windows)、Spring Boot 后端集成 MinIO 实现文件存储(超详细,带图文)
  • oss(阿里云)前端直传
  • 4G模块 ML307A通过MQTT协议连接到阿里云
  • ImportError: Encountered error: Failed to import NATTEN‘s CPP backend.
  • 事件处理与组件基础
  • 飞算JavaAI实现数据库交互:JPA/Hibernate + MyBatis Plus基础功能学习
  • 基于微信小程序的工作日报管理系统/基于asp.net的工作日报管理系统
  • CAD 的 C# 开发中,对多段线(封闭多边形)内部的点进行 “一笔连线且不交叉、不出界
  • 重生之我在公司写前端 | “博灵语音通知终端” | 登录页面
  • [量化交易](1获取加密货币的交易数据)
  • 01数据结构-Prim算法
  • Unity、C#常用的时间处理类
  • Gradle(三)创建一个 SpringBoot 项目
  • C++ 中构造函数参数对父对象的影响:父子控件管理机制解析
  • 【完整源码+数据集+部署教程】火柴实例分割系统源码和数据集:改进yolo11-rmt
  • 学习语言的一个阶段性总结
  • Linux操作系统应用编程——文件IO
  • Nginx的SSL通配符证书自动续期
  • 精准阻断内网渗透:联软科技终端接入方案如何“锁死”横向移动?
  • MySQL中的查询、索引与事务
  • MySQL三大存储引擎对比:InnoDB vs MyISAM vs MEMORY
  • RuoYi-Cloud 接入 Sentinel 的 3 种限流方式
  • Android 双屏异显技术全解析:从原理到实战的多屏交互方案
  • Ubuntu 20.04 虚拟机安装完整教程:从 VMware 到 VMware Tools