Hi I am trying to practice golang and have some questions regarding to interface design.
Say I want to create a simple app to store the book and its author info. I am planning to create interfaces so that I can use different db driver (mysql/mongo/redis...) as long as if they implemented DB interface: https://play.golang.org/p/DOw83_OqBOe I have a couple questions: 1. there are a lot of similar functions, for example NewBook and NewAuthor. The difference is type of argument passed into the function. Is it a good idea to combine those 2 functions with a generic New(interface{}) (string, error) function and reflect the actual type inside? 2. Sometimes we query based on one or more conditions (where clause), for example find books based on author/release data/ price. Should I create a generic function like: func FindBooks(map[string]interface{}) ([]Book, error) that passed in a map of condition kv and do the typer assertion of each condition key values? Thanks for any advice -- 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.