如何解决需要GoLang函数声明说明
我看过函数的声明和用法 https://gobyexample.com/functions
func (channel *AmqpChannel) FunctionName(message string) int {
...
}
我在任何地方都找不到上述语法的引用。
有人可以解释一下golang中的函数语法吗? 我主要得不到的是函数名称前的(channel * AmqpChannel)部分。
解决方法
这是method declaration,用于在FunctionName
对象上定义的名为*AmqpChannel
的方法。
(channel *AmqpChannel)
使用指针接收器声明此方法,这意味着您应该在*AmqpChannel
类型的对象上调用它。这与带有用(channel AmqpChannel)
声明的值接收器的方法形成对比。
有关方法调用和指针与值接收器的详细信息,请参见calls section of the spec,包括何时编译器允许您在值类型上调用指针方法。
,嗨,这种语法用于声明方法,基本上是一种附加到类型上的函数
例如,您创建类似
type Circle struct {
Radius float64
}
现在,如果您想简单地做方法
func (c Circle) Area() float64 {
return PI * c.Radius * c.Radius
}
方法可以在有或没有引用的情况下声明
如果您使用
(c *圆圈)
它将通过圆圈作为对函数的引用
现在您可以像这样称呼
var c Circle
c.Radius = 4
fmt.Println(c.Area())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。