Thanks for your fast response very much! It really helps. 在 2018年2月15日星期四 UTC-6上午10:01:09,Burak Serdar写道: > > On Thu, Feb 15, 2018 at 8:41 AM, junije wen <junji...@gmail.com > <javascript:>> wrote: > > 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. > > It is a type assertion: https://tour.golang.org/methods/15 > > p, is:=e.Engine.(EngineRawExecutor) > > 'is' will be true if e.Engine can be converted to an > EngineRawExecutor, and p will be a variable of type EngineRawExecutor. > > > > > > 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...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/d/optout. >
-- 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.