将空接口转换为字符串

I'm using the mymysql package and I'm trying to create a function which gets an SQL query and some parameters (as variadic empty interface):

func FindByQuery(statement string, params ...interface{}) (diver *DiverT, err error) {
    values := make([]interface{}, len(params))
    for i := range params {
            values[i] = params[i]
    }

    // Both statements result in the same error...
    row, _, execError := Db.QueryFirst(statement,values...)

    row, _, execError := Db.QueryFirst(statement,params...)

    // Additional code...
}

When I call this method using some kind of SQL, I always get an SQL error. I do something like:

FindByQuery("SELECT * FROM Diver WHERE Name=?", "Markus")

Which results in the following error:

Received #1064 error from MySQL server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?%!(EXTRA string=Markus)' at line 1"

What should I do that the parameter is converted correctly to a string (or whatever it is, if I have different parameter(s))?

Try using printf format syntax:

FindByQuery("SELECT * FROM Diver WHERE Name=%s", "Markus")