标签:
Go语言结构体成员能否是函数,从而实现类似类的成员函数的机制呢?答案是肯定的。
package main
import "fmt"
type stru struct {
testfunc1 func()
testfunc2 func(a int) int
}
func test(a int) int {
fmt.Println(a)
return 1
}
func main() {
s := &stru{
testfunc1: func() {
fmt.Println("hello")
},
testfunc2: test}
s.testfunc1()
fmt.Println(s.testfunc2(1))
}
这样,就能实现在通过结构体封装成员的同时,实现成员函数逻辑实现的后绑定,从而实现一种不具有继承机制的类似虚函数的实现。
标签:
原文地址:http://www.cnblogs.com/vico2316/p/5687672.html