go方法
2024-08-26 22:00:28
go中的方法(method),跟函数(function)不是一个概念,一定要区分,它的概念与python中的类方法类似。
go中是没有类的概念的,所以,go要想实现类 多种属性集合的功能的话,必须要使用结构体:
type Person struct {
Name string
Age int
}
其中:Person是结构体名称,Name和Age是结构体的属性,非常类似于python中的类属性
python中要想实现一个类方法很容易,但是go中如何实现一个类似的功能呢?
那就使用方法(method),这个方法跟函数(function)不是一个概念,一定要区分:
type Person struct {
Name string
Age int
}
# 定义类型(python的类)的方法
func (p *Person) GetName() string {
return p.Name
} func (p *Person) GetAge() int {
return p.Age
} 其中,Person相当于python中的类,在go中叫接收器类型,r是Person类型的实例化对象,GetName()、GetAge()是实例r的方法,也就是python中的类方法,
调用也很简单,r.GetName() 即可。
注意:接收器类型几乎可以是任何类型,但不能是指针类型和函数类型。
最新文章
- js base64加密,后台解密
- 使用audio标签播放音频文件
- thymeleaf 中文乱码问题
- [ORACLE错误]ORA-00054:resource busy and acquire with nowait specified解决方法
- gvim设置成不备份文件
- 【Regular Expression】常用的正则表达式
- CALayer总结(三)
- 分享:PHP获取MAC地址的实现代码
- struts2 相关知识
- View的getLeft, getRight, getTop, getBottom
- 解决animate动画连续播放bug
- (Android) Download Images by AsyncTask API
- 笨方法学python--第一个程序
- MySQL索引1
- 用java理解程序逻辑小结
- OpenMP并行程序设计——for循环并行化详解
- C++入门篇一
- mssql sqlserver 视图如何加密,让第三方用户查看不到其中的SQL语句
- Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1)
- Python 各种编码相互转化 (目前只有Unicode utf-8)
热门文章
- cometoj---contest#3 棋盘
- Codeforces 1137F Matches Are Not a Child's Play [LCT]
- CentOS 6.5开放端口方法
- [转载] 浏览器Browser对同域名下的请求并发数量
- Image.FromFile 之后无法删除这个文件
- 利用iterm2,在命令行预览图片,服务器也是可以的
- 实验五 遇到的问题:openssl: error while loading shared libraries: libssl.so.1.1
- 大数据技术之kettle(1)——安装
- 【软工实践】团队项目Snug-需求分析报告
- layer.msg如何让按钮的回调执行完毕后弹框不自动关闭