struct里面也可以定义函数吗,类似cpp里的class用法?

freboat · · 3123 次点击
Go函数的定义func关键字必须在函数名之前,很明显这不是一个函数声明。Run是一个字段,类型为func(cmd *Command, str []string),也就是说可以将该类型的值赋给Run。(以下代码未经测试) ```go var cmd Command cmd.Run = func(*Command, []string) {} ```
#2
更多评论
这样写可以,简单测试了一下。。。但是还是麻烦。。。 测试代码如下: package main import ( ) func main() { var p = Person{"ZS",sayHello} p.sayHello() } func sayHello(){ fmt.Println("hello") } type Person struct { name string; sayHello func() ; }
#1