what worked for me in a largish project is using an internal package (named 
"types") to host types used in more than package. 

On Thursday, February 21, 2019 at 3:30:08 PM UTC-6, Manlio Perillo wrote:
>
> Hi.
>
> I'm implementing a generic (and very simple) interface for key-value 
> databases, and I'm using the standard database/sql package as a reference.
> The only difference is that I don't plan to have a Driver interface, but 
> only a Database and Tx interfaces.
>
> For starting a transaction I'm thinking of something like this:
>
> type TxMode int
>
> const (
>     ReadOnly TxMode iota
>     ReadWrite
> )
>
> func Begin(mode TxMode) (Tx, error)
>
>
> Now, that problem is that this type needs to be used by both the driver 
> and the database packages.
>
> For the standard database/sql package, the TxOptions type is duplicated.
> Is there a reason for this duplication?
> I was thinking of declaring the TxMode in the driver package and using a 
> type alias in the database package, but I'm not sure.
>
>
> Thanks
> Manlio Perillo
>

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

Reply via email to