Empiece a leer el código fuente de Go
Ha pasado un tiempo desde que aprendí los conceptos básicos de Go, entonces, ¿qué debo aprender a continuación? Hay varias direcciones a considerar, como desarrollo web, programación web, etc.
Antes de pasar a la siguiente etapa de aprendizaje, escribí un proyecto de código abierto desarrollado en Go: un sistema de generación de ID único distribuido. Si está interesado en este proyecto, puede obtener el código fuente en GitHub.
En el proceso de redacción del proyecto, descubrí un problema. No hay ningún problema en implementar la función, pero no sé si el código que escribí se ajusta al estilo Go y es lo suficientemente elegante. Entonces, en lugar de continuar aprendiendo sobre desarrollo de aplicaciones, pensé que sería mejor comenzar desde cero y obtener una buena base para escribir código Go.
Así que decidí empezar a leer el código fuente de la biblioteca estándar de Go. Hay más de 150 bibliotecas estándar en Go, por lo que no es imposible leerlas todas, pero definitivamente es un gran proyecto y espero poder seguir adelante.
¿Por qué empezaste a leer el código fuente de la biblioteca estándar de Go? Porque recientemente leí algunos libros sobre los principios básicos de Go y, para ser honesto, no podía entender la programación de rutinas, la recolección de basura de gc, etc. Si lees este código en primer lugar, me temo que abandonarás Go.
La biblioteca estándar es diferente. Algunos de sus códigos no involucran los principios subyacentes en absoluto y la implementación es relativamente simple. También puede profundizar su comprensión de los conceptos de Go, por lo que es un buen punto de partida. . Luego, al igual que cuando aprendes Go, puedes profundizar paso a paso.
Dicho todo esto, ¿cómo lo lees? Los métodos que se me ocurren son los siguientes:
Puedes combinar uno o más de los métodos anteriores y luego seguir leyendo y resumiendo, y finalmente encontrar un método que se adapte completamente a tus necesidades.
Las siguientes son algunas de las bibliotecas y funciones estándar que he resumido:
Aquí hay solo una lista parcial de la biblioteca estándar. Puede ver una lista más completa de bibliotecas estándar directamente. en el sitio web oficial.
Entonces la pregunta es, con tantas bibliotecas, ¿por dónde empezar?
Aquí haré una clasificación sencilla. Debido a mi nivel limitado, solo puedo hacer una clasificación simple y luego tú puedes tomar decisiones basadas en tu situación real.
Algunas bibliotecas implican conocimientos muy profesionales y pueden tener una relación entrada-salida muy baja. Por ejemplo, archivar, comprimir y cifrar implican conocimientos de algoritmos de compresión y cifrado.
Algunas librerías son herramientas, como bufio, bytes, strings, path, strconv, etc. Estas bibliotecas no implican conocimiento del dominio y son más fáciles de leer.
Algunas bibliotecas involucran sistemas operativos, como os, net, sync, etc. Aprender estas bibliotecas requiere una comprensión clara del sistema operativo.
Muchos subpaquetes de net están relacionados con protocolos de red, como net/http, que implica el análisis de mensajes http y requiere una buena comprensión de los protocolos de red.
Para obtener una comprensión más profunda de los fundamentos del lenguaje, necesita leer sobre la biblioteca en tiempo de ejecución.
Para comenzar rápidamente y comprender la filosofía de diseño del lenguaje, le recomendamos que lea las bibliotecas io y fmt para profundizar su comprensión del diseño de interfaces.
He visto algo de código fuente, aunque es doloroso, es realmente útil. En las primeras etapas, puede ser difícil de entender y llevar mucho tiempo, pero después de formar una rutina fija, se volverá más familiar, llevará menos tiempo y será más fácil de entender.
Proyectos de código abierto: