Por qué elegir golang, las ventajas y desventajas de golang

¿Por qué elegir golang?

0. El nivel de código fuente de Golang de corrutina de alto rendimiento admite corrutinas, que es fácil de implementar; en comparación con procesos e hilos, las corrutinas ocupan menos recursos y pueden manejar problemas de alta concurrencia de manera concisa y eficiente.

**1. Fácil curva de aprendizaje-** El código es mínimo

La sintaxis del lenguaje Go es simple, incluida la sintaxis tipo C. Debido a que el lenguaje Go es fácil de aprender, un estudiante universitario promedio puede escribir una aplicación práctica y de alto rendimiento en unas pocas semanas. Todo el mundo en China persigue la velocidad, que es una de las razones por las que Go es popular en China.

Las características gramaticales del lenguaje Go son simplemente demasiado simples, tan simples que apenas puedes hacer trucos, directo al grano, la curva de aprendizaje es muy baja y puedes comenzar muy rápido.

2. Eficiencia: tiempo de compilación rápido, alto desarrollo y eficiencia operativa

Los rápidos tiempos de compilación de Go son una gran ventaja de eficiencia durante el desarrollo en comparación con las lentas velocidades de compilación de Java y C++. Go tiene una eficiencia operativa cercana a C y una eficiencia de desarrollo cercana a PHP.

La filosofía del lenguaje C es confiar en los programadores, mantener el lenguaje compacto, no proteger la capa inferior y ser amigable con la capa inferior, y prestar atención a la eficiencia de ejecución y el rendimiento del lenguaje. La actitud de Python es hacer todo lo posible con el menor código posible. Entonces puedo sentir que el lenguaje Go quiere unificar C y Python, lo cual es una gran cosa.

3. Nacido en una familia famosa y pura sangre

La razón por la que Go proviene de una familia famosa se puede ver en el creador del idioma Go. El idioma Go es absolutamente puro en sangre. En segundo lugar, el lenguaje Go proviene de Google, y no hace falta decir la popularidad y la fuerza de Google en la industria. Google ha reunido a un grupo de personas talentosas para lanzar un nuevo lenguaje de programación en la situación en la que varios lenguajes de programación compiten por la hegemonía. Naturalmente, tiene sus consideraciones estratégicas. Y a juzgar por la tendencia de desarrollo del lenguaje Go, Google todavía valora a su nuevo favorito y, naturalmente, Go tiene una buena perspectiva de desarrollo.

4. Gratis y eficiente: pensamiento combinado, interfaz no intrusiva

Se puede decir que el lenguaje Go es una fusión perfecta de eficiencia de desarrollo y eficiencia operativa, con soporte de programación concurrente natural. El lenguaje Go es compatible con todos los paradigmas de programación actuales, incluida la programación procedimental, la programación orientada a objetos, la programación orientada a interfaces y la programación funcional. Los programadores pueden tomar lo que necesitan, combinar libremente y jugar como quieran.

**5. Potente biblioteca estándar-** Ecología

Con el respaldo de Google, la ecología es rica y puede obtener fácilmente una variedad de ruedas de alta calidad. Los usuarios pueden concentrarse en la lógica comercial y evitar reinventar la rueda.

Esto incluye aplicaciones de Internet, programación de sistemas y programación de redes. La biblioteca estándar en Go es básicamente muy estable, especialmente las tres que mencioné aquí, las bibliotecas en la capa de red y la capa de sistema son muy prácticas. La biblioteca lib del lenguaje Go es pequeña y completa. Básicamente, hay bibliotecas más utilizadas en la biblioteca lib del lenguaje Go. Aunque algunas bibliotecas no son muy buenas, no creo que sea un problema, porque creo que estos problemas se resolverán en el desarrollo futuro.

6. Implementación fácil: archivos binarios, implementación de copia

La implementación es simple: una vez compilado el código fuente en un archivo ejecutable, se puede ejecutar directamente, lo que reduce la dependencia de otros complementos. A diferencia de otros lenguajes, el archivo de ejecución depende de varios complementos y varias bibliotecas.La máquina de I+D se ejecuta normalmente, pero cuando se implementa en el entorno de producción, no se puede ejecutar.

7. Concurrencia simple

La programación paralela y asíncrona es casi indolora. Los dos artefactos de Goroutine y Channel in Go son simplemente el gran evangelio de la programación concurrente y asíncrona. La concurrencia y la asincronía de lenguajes como C, C++, Java, Python y JavaScript son demasiado complejas y propensas a errores, pero Go resuelve este problema de manera muy elegante y fluida. Para los programadores que han sufrido de concurrencia y asincronía en la programación durante muchos años, esta es una sensación completamente llamativa. Go es un lenguaje muy eficiente con un alto grado de compatibilidad con la concurrencia. Go es un lenguaje de programación para big data, microservicios y concurrencia.

Go as a language se esfuerza por mantener las cosas simples. No introduce muchos conceptos nuevos, sino que se enfoca en construir un lenguaje simple que es increíblemente rápido y fácil de usar. Sus únicas novedades son las rutinas y los canales. Goroutines es el enfoque ligero de Go para los subprocesos, y los canales son la forma preferida de comunicarse entre goroutines.

Las gorrutinas son baratas de crear, ya que solo requieren unos pocos miles de bytes de memoria adicional, lo que hace posible ejecutar cientos o incluso miles de gorrutinas simultáneamente. La comunicación entre goroutines se puede lograr con la ayuda de canales. Goroutines y un enfoque basado en canales para la concurrencia hacen que sea muy fácil usar todos los núcleos de CPU disponibles y manejar IO concurrentes. Ejecutar una función en una rutina requiere un código mínimo en comparación con Python/Java.

8. Estabilidad

Go tiene potentes comprobaciones de compilación, estrictos estándares de codificación y completas herramientas de ciclo de vida del software. Tiene una gran estabilidad y la estabilidad es abrumadora. Entonces, ¿por qué Go es más estable que otros programas? Esto se debe a que Go proporciona herramientas para cada eslabón del ciclo de vida del software (desarrollo, prueba, implementación, mantenimiento, etc.), como go tool, gofmt, go test.

9. Multiplataforma Muchos idiomas soportan multiplataforma Tomar esta ventaja por sí sola parece no ser nada para elogiar, pero combinado con las ventajas anteriores, su capacidad integral es muy fuerte.

desventajas de golang

①La llave derecha no permite saltos de línea, de lo contrario, la compilación informará un error

② No se permiten paquetes o variables no utilizados

③ El manejo de errores es primitivo. Aunque se introduce la lógica de aplazamiento, pánico y recuperación para tratar los errores, la función puede devolver múltiples valores, pero básicamente depende de si el error devuelto está vacío para juzgar si la función se ejecuta correctamente. Hay muchas declaraciones if err != nil, más engorrosas, el programa no es tan hermoso como java. (Explicación oficial: se proporcionan múltiples valores de retorno y es conveniente manejar los errores. Si agrega un mecanismo de excepción, deberá recordar algunas excepciones comunes, como IOException, y el tipo de error de ir es más unificado y conveniente.) ④[]interfaz{} no admite operaciones de subíndice

⑤struct no tiene construcción ni destrucción, y algunas acciones de aplicación y liberación de recursos son inconvenientes

⑥La operación de puntero de C/C++ todavía está reservada, tome la dirección y tome el valor *

Supongo que te gusta

Origin blog.csdn.net/2301_76484015/article/details/130503373
Recomendado
Clasificación