切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Go
golang语法总结(二十一):方法method
golang语法总结(二十一):方法method
2019-11-15
Go
前端之家
前端之家
收集整理的这篇文章主要介绍了
golang语法总结(二十一):方法method
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Go不像其它面相对象语言一样可以写个class,然后在class里面写一堆
方法
,但是它也很巧妙的实现了这种
效果
,我们只需要在普通
函数
前面加个接受者(receiver,写在
函数
名前面的括号里面),这样编译器就知道这个
函数
(
方法
)属于哪个struct了。
下面是简单示例:
@H_
502
_11@
type A
struct
{
Name
string
}
func
(
a A
)
foo
()
//接收者写在
函数
名前面的括号里面
fmt
.
Println
(
"foo"
)
func main
a
:=
A
{}
a
.
//foo
}
需要注意的是,因为Go
不支持
函数
重载,所以某个接收者(receiver)的某个
方法
只能对应一个
函数
,比如下面的就属于
方法
重复,编译无法通过:
i
int
i
}
这些可以叫做是
方法
绑定,接收者不仅可以是struct类型,还可以是任意
自定义
的其它类型,举个栗子:
type
Integer
int
integer
*
Integer
talk
"i am "
,*
integer
var
i
Integer
=
250
i
//i am 250
}
这下知道
方法
绑定是多么的灵活了吧
注意
方法
绑定只能绑定当前包里的类型
其实有两种
调用
方式,上面讲的那种官方管它叫method value,还有另一种
调用
方式,叫method expression:
(*
Integer
).
(&
}
最后说下访问权限,因为Go是以大小写来区分是公有还是私有,但都是针对包级别的,所以在包内所有的都能访问,而
方法
绑定本身只能绑定包内的类型,所以
方法
可以访问接收者所有成员。如果是包外
调用
某类型的
方法
,则需要看
方法
名是大写还是小写,大写能被包外访问,小写只能被包内访问。
上一篇:golang语法总结(二十):struct组
下一篇:golang语法总结(二十二):接口in
猜你在找的Go相关文章
golang简单实现jwt验证(beego、xorm、jwt)
程序目录结构 简单实现,用户登录后返回一个jwt的token,下次请求带上token请求用户信息接...
作者:踏平扶桑 时间:2024-09-29
【工程实践】利用go语言写一个简单的Pow样例
本篇博客的主要内容是用go写一个简单的Proof-of-Work共识机制,不涉及到网络通信环节,只是...
作者:ACai_sec 时间:2024-09-28
【工程实践】go语言实现MerkleTree
简介 默克尔树(MerkleTree)是一种典型的二叉树结构,其主要特点为: 最下面的叶节点包含...
作者:ACai_sec 时间:2024-09-28
第九章 goroutine
接下来学习并发编程, 并发编程是go语言最有特色的地方, go对并发编程是原生支持. goroutin...
作者:前端之家 时间:2021-02-11
第十一章 运用广度优先搜索走迷宫
先普及一下, 什么是广度优先搜索 广度优先搜索类似于树的层次遍历。从图中的某一顶点出发,...
作者:前端之家 时间:2021-02-11
第十三章 go实现分布式网络爬虫---单机版爬虫
爬虫的分类 网络爬虫分为两类 1. 通用爬虫: 类似于baidu, google. 他们会把大量的数据挖下...
作者:前端之家 时间:2021-02-11
第十章 channel select 总结
感觉channel在理解起来还有点费劲的, 尤其是select的使用, 既要可以读数据, 又要可以写数据...
作者:前端之家 时间:2021-02-11
第十五章 并发版爬虫第二版 -- 完结
并发版爬虫, 在上一篇单机版爬虫的基础上演变而来 这里只有并发引擎的代码, 基本的解析器代...
作者:前端之家 时间:2021-02-11
第八章--性能优化--pprof详细研究
接着上次的博客: https://www.cnblogs.com/ITPower/articles/12315637.html ppro...
作者:前端之家 时间:2021-02-11
第八章 测试与性能调优--生成文档和测试示例代码
java也可以生成文档, 就像一个手册一样, 可以用来查看方法, 接口, 下面我们给go项目生成文...
作者:前端之家 时间:2021-02-11
编程分类
PHP
Java
Java SE
Python
C#
C&C++
Ruby
VB
asp.Net
Go
Perl
netty
Django
Delphi
Jsp
.NET Core
Spring
Flask
Springboot
SpringMVC
Lua
Laravel
Mybatis
Asp
Groovy
ThinkPHP
Yii
swoole
最新文章
• golang简单实现jwt验证(be
• 【工程实践】利用go语言写
• 【工程实践】go语言实现Me
• 第九章 goroutine
• 第十一章 运用广度优先搜索
• 第五章 接口
• 第十三章 go实现分布式网
• 第十章 channel select 总
• 第十五章 并发版爬虫第二版
• 第八章--性能优化--pprof详
热门标签
更多 ►
文件时间
pythonm
相等性
PHP Warning
时间问题
问题解决
pcntl_signal
采样点
wav模块
动态文本
调用频率限制
对外暴露
多个访问请求
更新数据表
模型结构
type()方法
比较速度
手写体
sobel算子
保存模型
Image类
nn.Conv2d
pytorch1.0
kaggle
DCGAN
交并比
range()用法
打印模型
反卷积
卷积