The answer is it depends on the context. There is no way to answer that question without looking at the full codebase and what method will call a type implementing the Store interface. In general, you should only put the methods in an interface the consumer of a value will use.
given a function Print func Print(s Shape){ s.Draw(); } if Shape is an interface, there is no need to have a method "Rotate" in that interface. Shape should only be type Shape interface{ Draw() } and defined in the same package as Print. An interface should be defined based on what the consumer of that inerface need, nothing else. In your snippet, if the consumer of Store never calls DeleteClusterFlavorPermanent then it should not be in Store interface. -- 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.