Thanks for the fantastic explanation folks.

I wonder if I can ask advice on how to improve my use case.  I have a 
struct type that represents a state machine and each state is handled by a 
different method on that type, each with the same signature  I use a 
function variable to represent the current state and it is simply set to 
point at one of the methods.  The state is modified frequently, hence my 
problem.

The options I can think of are:

1) Define another type (probably based on int or similar) representing the 
current state and switch on that instead of using a function type.  This 
feels inelegant and avoids using function types on one of the scenarios 
they seem to be designed for.
2) Define non-method related functions with a similar signature, but that 
also take my base type as an additional parameter.  I believe this will 
avoid the allocation, but also feels wrong because these functions really 
"belong" to my base type so should be methods.

Any other possibilities?

Thanks.

-- 
Martin.

-- 
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.

Reply via email to