Go方法的声明和调用,Go的方法是作用再指定的数据类型的。 下面是给一个struct添加方法
func (receiver type) 方法名(参数列表) (返回值列表) {}
package main
import (
"fmt"
)
type Employee struct {
Name string
Age int
}
func (emy Employee) say() {
fmt.Printf("say something %vn", emy.Name)
}
func main() {
var emy Employee
emy.Name = "ketty"
emy.Age = 45
emy.say()
}
func (emy Employee) say(){}是结构体Employee的一个方法,say方法是和结构体绑定的
方法传参
package main
import (
"fmt"
)
type Employee struct {
Name string
Age int
}
func (emy Employee) say(m string) {
fmt.Printf("say something %vn", emy.Name + m)
}
func main() {
var emy Employee
emy.Name = "ketty"
emy.Age = 45
emy.say('enen')
}
带返回值的方法
package main
import (
"fmt"
)
type Employee struct {
Name string
Age int
}
func (emy Employee) count(m int, n int) int {
return m + n
}
func main() {
var emy Employee
emy.Name = "ketty"
emy.Age = 45
c := emy.count(1, 2)
fmt.Println(c)
}