Estou portando uma biblioteca C para Go. A função CA (com varargs) é definida assim:
curl_easy_setopt(CURL *curl, CURLoption option, ...);
Então eu criei as funções do wrapper C:
curl_wrapper_easy_setopt_str(CURL *curl, CURLoption option, char* param);
curl_wrapper_easy_setopt_long(CURL *curl, CURLoption option, long param);
Se eu definir a função em Go, desta forma:
func (e *Easy)SetOption(option Option, param string) {
e.code = Code(C.curl_wrapper_easy_setopt_str(e.curl, C.CURLoption(option), C.CString(param)))
}
func (e *Easy)SetOption(option Option, param long) {
e.code = Code(C.curl_wrapper_easy_setopt_long(e.curl, C.CURLoption(option), C.long(param)))
}
O compilador Go reclama:
*Easy·SetOption redeclared in this block
O Go suporta sobrecarga de função (método) ou esse erro significa outra coisa?