Je suis en train de porter une bibliothèque C vers Go. Une fonction C (avec varargs) est définie comme ceci :
curl_easy_setopt(CURL *curl, CURLoption option, ...);
J'ai donc créé des fonctions C enveloppantes :
curl_wrapper_easy_setopt_str(CURL *curl, CURLoption option, char* param);
curl_wrapper_easy_setopt_long(CURL *curl, CURLoption option, long param);
Si je définis la fonction en Go comme ceci :
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)))
}
Le compilateur Go se plaint :
*Easy·SetOption redeclared in this block
Go prend-il en charge la surcharge des fonctions (méthodes) ou cette erreur a-t-elle une autre signification ?