I'm reading the source code of Iris and trying to reimplement it. There is a line I can't understand.
if p, is := e.Engine.(EngineRawExecutor); is { return p.ExecuteRaw(src, wr, binding) } The define of EngineRawExecutor is EngineRawExecutor interface { // ExecuteRaw is super-simple function without options and funcs, it's not used widely ExecuteRaw(src string, wr io.Writer, binding interface{}) error } I'm pretty curious about how e.Engine.(EngineRawExecutor) works, what is the parentheses means there. why this line return two return value p, and is I'm confused, any help will be great to me. Thanks -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.