以下功能声明中的(c App)是什么?
func (c App) SaveSettings(setting string) revel.Result {
--------------------------------------------------------------------------------------
func Keyword to define a function
(c App) ????
SaveSettings Function name
(setting string) Function arguments
revel.Result Return type
答案 0 :(得分:14)
(c App)
给出 receiver 的名称和类型,Go等同于C ++或JavaScript的this
或Python的self
。 c
是接收者的名字,因为in Go it's conventional to use a short, context-sensitive name instead of something generic like this
。见http://golang.org/ref/spec#Method_declarations -
方法是具有接收器的功能。接收器通过方法名称之前的额外参数部分指定。
及其示例:
func (p *Point) Length() float64 {
return math.Sqrt(p.x * p.x + p.y * p.y)
}