使用gocsv程序包对csv进行封送处理的接口

I am using gocsv package to marshal-unmarshal my data.

we are working on preparing one wrapper around the functionality of that package.

so what we did is created the similar (public) functions in wrapper, called original function of gocsv package, process the output of function and return it.

For example: Original gocsv function is

func MarshalString(in interface{}) (out string, err error)

function which we defined in our wrapper is

func MarshalString(in interface{}) (out string, err error)
{
    out, err := gocsv.MarshalString(in)
    if err != nil {
       //do some processing
    }
    return out, err
}

Now, the problem comes is that gocsv.MarshalString function has a validation that the input to the function should be array only.

I don't have array. In Most of cases, i would be passing single objects only. how can i convert a single object "in interface{}" to array. Or if there is any other way to get my task done, i am open to suggestions.

Edit: Basically i need a way to convert interface{} to []interface{} if interface{} is not a slice itself.

Thank you in advance.