func (rURW RealUserReadWriter) GetDetails(i interface{}) useCases.User {
	rwU := RWUser{}
	switch v := i.(type) {
	case int:
		rwU = rURW.getUserByID(v)
	case string:
		rwU = rURW.getUserByName(v)
	case Age:
		rwU = rURW.getUserByAge(v)
	default:
	}
	rURW.ucUser = rwU.UsecaseUser
	return rURW.ToUseCaseUser()
}
GetDetails : allows to search by something the
package interfaces
import (
	"log"
	"github.com/err0r500/cleanArchitectureGolang/src/useCases"
)
type RealUserReadWriter struct {
	ucUser useCases.User
}
type RWUser struct {
	UsecaseUser useCases.User
	techStuff1  int
	techStuff2  Age
}
func (rURW RealUserReadWriter) ToUseCaseUser() useCases.User {
	log.Print("from RealUserRW : I use a special type of User but I can convert it back to ucUser")
	return rURW.ucUser
}