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)

}
相关推荐
幸运小圣16 小时前
前端三种输入数据来源生成 worksheet(工作表)新手适用详细篇【SheetJS】
开发语言·前端·javascript
zhz521416 小时前
Spring Boot + 腾讯 Kona 实现 TLCP 8443 国密 HTTPS 排障实录(奇安信浏览器已通)
spring boot·后端·https·国密·gmssl·kona
ch.ju16 小时前
Java Programming Chapter 4——Construction method
java·开发语言
烤代码的吐司君16 小时前
面向对象编程(OOP)在 Python 中的实现——类、继承与特殊方法
开发语言·python
IT策士16 小时前
Django 从 0 到 1 打造完整电商平台:我的订单列表与订单详情
后端·python·django
AI行业学习16 小时前
CC-Switch Windows + macOS 下载安装配置全流程
java·开发语言·人工智能·python
Lumbrologist16 小时前
【C++】零基础入门 · 第 3 节:条件判断(if、switch)
开发语言·c++·算法
l1t16 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程简介
开发语言·python
zhangxingchao16 小时前
AI 大模型核心四:工程体系化思维
前端·人工智能·后端
Lhan.zzZ17 小时前
使用 ctx.lineDash 根治 QML Canvas 虚线残留问题(支持 Qt 5.12/5.14 等版本)
开发语言·qt