Skip to content

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 formateada
  • html, paquete de plantillas HTML
  • net, proporciona una serie de paquetes de operaciones de red, muy poderoso
  • flag, paquete de análisis de parámetros de línea de comandos
  • reflect, paquete de operaciones de reflexión
  • log, paquete de registro incorporado
  • sort, paquete de operaciones de ordenamiento
  • regex, paquete de expresiones regulares
  • image, paquete de operaciones de imágenes
  • time, paquete de operaciones de tiempo
  • unicode, paquete de operaciones del conjunto de caracteres unicode
  • unsafe, proporciona operaciones de puntero sin limitaciones de tipo
  • syscall, paquete de llamadas al sistema proporcionado por el sistema operativo
  • testing, paquete de pruebas, se usa principalmente al escribir pruebas
  • sync, paquete de operaciones de concurrencia
  • context, paquete de contexto
  • strconv, paquete de conversión de cadenas
  • strings, paquete de operaciones de cadenas
  • bytes, paquete de operaciones de segmentos de bytes
  • maps, paquete de operaciones de map
  • slices, paquete de operaciones de slices
  • io, define una serie de interfaces de IO básicas, como Closer, Writer, etc., y algunas funciones básicas de operaciones de IO
  • io/fs, define una serie de interfaces de sistema de archivos, es una abstracción del sistema de archivos
  • os, 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 anteriores
  • os/signal, paquete de señales del sistema operativo, se usa para escuchar señales del sistema operativo, principalmente para implementar el cierre elegante del programa
  • os/exec, paquete de comandos del sistema operativo, se usa para ejecutar comandos del sistema operativo
  • os/user, paquete de usuario del sistema operativo, se usa para obtener información del usuario del sistema operativo
  • bufio, paquete de lectura y escritura de IO con búfer
  • path, paquete para manejar rutas separadas por barras, como url
  • path/filepath, paquete para manejar rutas de archivos
  • math, paquete de operaciones matemáticas
  • math/bits, paquete de operaciones de bits
  • math/cmplx, paquete de operaciones de números complejos, también proporciona algunas funciones de herramientas de funciones trigonométricas
  • math/rand, paquete de pseudoaleatoriedad
  • math/big, paquete de cálculo de alta precisión de números grandes
  • container/heap, implementación de montículo mínimo
  • container/list, implementación de lista doblemente enlazada
  • container/ring, implementación de anillo
  • archive/zip, paquete de archivado comprimido zip
  • archive/tar, paquete de archivado de archivos tar
  • compress, paquete de implementación de algoritmos de compresión, como gzip, flate
  • database/sql, paquete para interactuar con la base de datos
  • encoding, paquete para manejar codificación, tiene muchos subpaquetes, como json, xml, etc., también como base64
  • crypto, 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 Go
  • go/parser, paquete para analizar el código fuente de Go en un árbol de sintaxis abstracta
  • go/importer, proporciona acceso al importador
  • go/format, paquete de formateo del lenguaje Go
  • arena, proporciona la función de asignar y liberar memoria manualmente, en fase experimental
  • runtime, paquete de operaciones en tiempo de ejecución, muchas operaciones en Go se implementan con este paquete

Golang editado por www.golangdev.cn