On Wed, Jan 18, 2017 at 9:55 PM, Bryan Chan <bryan...@gmail.com> wrote:
> On Wednesday, 18 January 2017 16:39:03 UTC-5, rog wrote: >> >> On 18 January 2017 at 18:45, Bryan Chan <brya...@gmail.com> wrote: >> > But I couldn't find a way to bind a receiver to a method expression, >> such >> > that the resulting method value can be invoked at a later time. Would >> this >> > be a useful addition to the language? Or did I miss something? >> >> If a is an object with the method foo, a.foo will give you a function >> that >> will invoke the method at a later time. >> >> See https://golang.org/ref/spec#Method_values >> > > I understand what method values are. My original email already contained > an example. What I want to do is to store away a method expression, and > then over time, bind that expression with different receivers to form > different method values, so that those method values can be passed to other > parts of the program and invoked later. > It's possible to use reflect.MakeFunc to bind a argument to a func. The result won't be very efficient though, so unless you really want to be generic, you probably should create a closure for this statically (which means you must know the exact type of the method). -- 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.