Por qué Golang (lenguaje Go) no admite la sobrecarga
Desde una perspectiva gramatical, la sobrecarga expande la firma de la función (o método) de reconocer solo el nombre al nombre + tipo de parámetro. Por lo tanto, en este ejemplo, solo necesita cambiar la función foo con diferentes parámetros. a diferentes nombres, como foo1, foo2...
Según la declaración oficial, esto no es compatible para mantener la sintaxis simple y evitar algunos problemas encontrados en el proyecto, como la conversión de parámetros implícitos, etc. .
Los lenguajes que admiten la sobrecarga también tienen sus razones. A veces, el nombre de la función o del método está fuera del control del programador. Por ejemplo, si Java no admite la sobrecarga, solo puede haber un constructor. Se pueden construir a través de diferentes entradas. Los objetos son más problemáticos y deben convertirse en un método estático. crear: