The problem of variable parameters in golang

the redis, that is working on go today uses redigo
redigo. The execution actions are all carried out through Do

.
//Do
func (c *conn) Do(cmd string, args ...interface{}) (interface{}, error)

he uses variable parameters. I personally want to make improvements based on him. I use hash to distribute key to different nodes and do sub-libraries on the business side, and then I write a new func:

.
func CallDo(cmd string, args ...interface{}) (interface{}, error){

    //TODO:redis

    return rc.Do(cmd, args)
}

now the problem with Do and CallDo is that I also used variable parameters in CallDo , and the number of parameters changed when I passed Do . Do you have a solution to this, or is there a callback like call_user_func in go

?
Aug.09,2021

well, I found it as soon as I finished writing the question. The Do parameter in CallDo is changed to rc.Do (cmd, args.)

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b39d5f-2b712.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b39d5f-2b712.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?