Best practice for Database Open and Close connection

It’s hard for us to answer without seeing your code. You probably don’t need to do that unless you’re, for example, connecting to different databases each time.

The last paragraph of the sql.Open documentation says:

The returned DB is safe for concurrent use by multiple goroutines and maintains its own pool of idle connections. Thus, the Open function should be called just once. It is rarely necessary to close a DB.

Show us your code and we can give a more concrete answer.