go语言给结构体绑定方法

定义结构体person,里面有一个字段Name。因为person首字母小写,没有暴露,所以定义函数NewPerson,返回一个person指针。

go 复制代码
package test_utils
import (
	"fmt"
)

type person struct{
	Name string
}
func (p person) Test(){
	fmt.Println("Hello",p.Name)
}

func NewPerson(n string) *person{
	return &person{n}
}

调用NewPerson函数返回person指针,调用person结构体绑定的Test函数。

go 复制代码
package main
import (
	"fmt"
	"test_utils"
)

func main(){
	p:=test_utils.NewPerson("Tom")
	p.Test()
	fmt.Println(*p)

}
相关推荐
jimy18 小时前
虚函数vtable,链接时看到构造函数,linker把符号地址写入vtable(三)
开发语言·c++
ss2738 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python
菜鸟~noob2338 小时前
【电子战】第20篇:凸优化与对数障碍法【含matlab代码】
开发语言·matlab
microrain8 小时前
同一个寄存器,四种读法:SagooIoT Modbus 驱动的字节序、宽度与功能码
物联网·golang·开源·sagooiot
Wang's Blog8 小时前
Java框架 SpringCloud 快速入门: 服务拆分案例 Demo
java·开发语言·spring cloud
小小龙学IT8 小时前
Python SQLAlchemy 2.0 深度解析:从 Core 到 ORM 的数据访问双引擎
开发语言·数据库·python
2601_962885728 小时前
如何用 Python 计算 ROC 变动率指标做动量分析?
开发语言·python·算法
潼心1412o9 小时前
C++初阶(长期更新)第9讲:string(上)
开发语言·c++
朝朝辞暮i9 小时前
C++ 第 39 章: 阶段性总复习——类、对象、构造、继承、this、指针与智能指针
开发语言·c++·算法·ros2
高频因子挖掘机9 小时前
批量行情返回后,怎样把请求失败的股票单独挑出来?
后端·github·api