这里我有一个函数作为
deferred
字段中的类型。在某些情况下 deferred
已设置,而在其他情况下则未设置。
如果未设置,调用
invalid memory address or nil pointer dereference
时会返回Request.run()
。调用前如何检查字段是否有功能?
type Request struct {
deferred func(string)
}
func (r *Request) run(){
r.deferred("test")
}
只需将其设为方法即可
package http
type request struct{}
func (request) deferred(s string) {
println(s)
}