Introducción a la biblioteca estándar de Go
Al escribir este artículo, la versión de Go ya ha llegado a la 1.21, y ha pasado casi un año desde que se estableció este sitio.
La biblioteca estándar de Go es muy rica (excluyendo estructuras de datos) y también muy poderosa. La API es muy amigable para los desarrolladores, y poder usar la biblioteca estándar con fluidez será de gran ayuda para el desarrollo diario. Por ejemplo, puede desarrollar un proyecto web independiente y completo sin ninguna dependencia externa, usando solo las tres bibliotecas net/http, html/template y database/sql.
El contenido de la biblioteca estándar no se ha actualizado porque hay demasiado contenido. A continuación, se resumirá brevemente el funcionamiento de algunas bibliotecas estándar comunes, para que pueda seleccionar las que le interesen. Cada comentario a nivel de paquete de la biblioteca estándar detallará para qué sirve ese paquete.
fmt, paquete para manejar la entrada y salida formateadahtml, paquete de plantillas HTMLnet, proporciona una serie de paquetes de operaciones de red, muy poderosoflag, paquete de análisis de parámetros de línea de comandosreflect, paquete de operaciones de reflexiónlog, paquete de registro incorporadosort, paquete de operaciones de ordenamientoregex, paquete de expresiones regularesimage, paquete de operaciones de imágenestime, paquete de operaciones de tiempounicode, paquete de operaciones del conjunto de caracteres unicodeunsafe, proporciona operaciones de puntero sin limitaciones de tiposyscall, paquete de llamadas al sistema proporcionado por el sistema operativotesting, paquete de pruebas, se usa principalmente al escribir pruebassync, paquete de operaciones de concurrenciacontext, paquete de contextostrconv, paquete de conversión de cadenasstrings, paquete de operaciones de cadenasbytes, paquete de operaciones de segmentos de bytesmaps, paquete de operaciones de mapslices, paquete de operaciones de slicesio, define una serie de interfaces de IO básicas, comoCloser,Writer, etc., y algunas funciones básicas de operaciones de IOio/fs, define una serie de interfaces de sistema de archivos, es una abstracción del sistema de archivosos, paquete de interacción con el sistema operativo, proporciona una serie de funciones concretas, se puede entender simplemente como la implementación concreta de los dos anterioresos/signal, paquete de señales del sistema operativo, se usa para escuchar señales del sistema operativo, principalmente para implementar el cierre elegante del programaos/exec, paquete de comandos del sistema operativo, se usa para ejecutar comandos del sistema operativoos/user, paquete de usuario del sistema operativo, se usa para obtener información del usuario del sistema operativobufio, paquete de lectura y escritura de IO con búferpath, paquete para manejar rutas separadas por barras, como urlpath/filepath, paquete para manejar rutas de archivosmath, paquete de operaciones matemáticasmath/bits, paquete de operaciones de bitsmath/cmplx, paquete de operaciones de números complejos, también proporciona algunas funciones de herramientas de funciones trigonométricasmath/rand, paquete de pseudoaleatoriedadmath/big, paquete de cálculo de alta precisión de números grandescontainer/heap, implementación de montículo mínimocontainer/list, implementación de lista doblemente enlazadacontainer/ring, implementación de anilloarchive/zip, paquete de archivado comprimido ziparchive/tar, paquete de archivado de archivos tarcompress, paquete de implementación de algoritmos de compresión, como gzip, flatedatabase/sql, paquete para interactuar con la base de datosencoding, paquete para manejar codificación, tiene muchos subpaquetes, comojson,xml, etc., también comobase64crypto, paquete para manejar cifrado, tiene muchos subpaquetes, como sha1, rsa, etc.go/ast, paquete de mapeo del árbol de sintaxis abstracta del código fuente de Gogo/parser, paquete para analizar el código fuente de Go en un árbol de sintaxis abstractago/importer, proporciona acceso al importadorgo/format, paquete de formateo del lenguaje Goarena, proporciona la función de asignar y liberar memoria manualmente, en fase experimentalruntime, paquete de operaciones en tiempo de ejecución, muchas operaciones en Go se implementan con este paquete
