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() 即可。
注意:接收器类型几乎可以是任何类型,但不能是指针类型和函数类型。

最新文章

  1. js base64加密,后台解密
  2. 使用audio标签播放音频文件
  3. thymeleaf 中文乱码问题
  4. [ORACLE错误]ORA-00054:resource busy and acquire with nowait specified解决方法
  5. gvim设置成不备份文件
  6. 【Regular Expression】常用的正则表达式
  7. CALayer总结(三)
  8. 分享:PHP获取MAC地址的实现代码
  9. struts2 相关知识
  10. View的getLeft, getRight, getTop, getBottom
  11. 解决animate动画连续播放bug
  12. (Android) Download Images by AsyncTask API
  13. 笨方法学python--第一个程序
  14. MySQL索引1
  15. 用java理解程序逻辑小结
  16. OpenMP并行程序设计——for循环并行化详解
  17. C++入门篇一
  18. mssql sqlserver 视图如何加密,让第三方用户查看不到其中的SQL语句
  19. Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1)
  20. Python 各种编码相互转化 (目前只有Unicode utf-8)

热门文章

  1. cometoj---contest#3 棋盘
  2. Codeforces 1137F Matches Are Not a Child's Play [LCT]
  3. CentOS 6.5开放端口方法
  4. [转载] 浏览器Browser对同域名下的请求并发数量
  5. Image.FromFile 之后无法删除这个文件
  6. 利用iterm2,在命令行预览图片,服务器也是可以的
  7. 实验五 遇到的问题:openssl: error while loading shared libraries: libssl.so.1.1
  8. 大数据技术之kettle(1)——安装
  9. 【软工实践】团队项目Snug-需求分析报告
  10. layer.msg如何让按钮的回调执行完毕后弹框不自动关闭