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)

}
相关推荐
weixin_440784117 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城7 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
有梦不弃7 小时前
模块化单体架构设计方案:DDD + 六边形架构落地实践
后端·架构
XR1234567887 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟8 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君9 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-1239 小时前
SpringDAO的用法
java·开发语言·数据库
格林威11 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
江南十四行11 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
IT_陈寒12 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端