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

freboat · 2017-05-08 02:26:03 · 3345 次点击

Go函数的定义func关键字必须在函数名之前,很明显这不是一个函数声明。Run是一个字段,类型为func(cmd *Command, str []string),也就是说可以将该类型的值赋给Run。(以下代码未经测试)

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