Would a simple single method interface meet your needs?
type fooer interface {
foo() bool
}
func (a *A) foo() bool { ... }
func bar(f fooer) {
if f.foo() {
...
}
}
func main() {
a := &A{ ... }
bar(a)
}
On Wednesday, January 18, 2017 at 8:55:07 PM UTC-6, Bryan Chan wrote:
>
> On Wednesday, 18 January 2017 16:39:03 UTC-5, rog wrote:
>>
>> On 18 January 2017 at 18:45, Bryan Chan <[email protected]> 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.
>
> --
> Bryan
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.