Packages
Last updated
Last updated
Un paquete en Go es una colección de archivos Go en un mismo directorio, que se utilizan para proporcionar una funcionalidad específica y reutilizable en una aplicación Go.
Por otro lado, un módulo en Go es una colección de paquetes Go que se utilizan juntos como una unidad lógica. Los módulos permiten especificar y gestionar las dependencias de una aplicación Go de forma más precisa y confiable. Cada módulo tiene su propio archivo go.mod que describe las dependencias y la versión de cada paquete utilizado.
Por otro lado, un módulo en Go es una colección de paquetes Go en un arbol de directorio con un fichero go.mod en el directorio principal.
Como se ha dicho, un paquete de Go es una colección de archivos en un mismo directorio. La primera línea de un archivo go se declara la pertenencia a un paquete con la sintaxis:
Por convención el nombre del directorio y del paquete deben ser el mismo.
FMT?
El paquete fmt
(abreviatura de format) es parte de la biblioteca estándar de Go y proporciona funciones para formatear e imprimir texto a la consola, así como para escanear (input). Las funciones más usadas en fmt
incluyen:
fmt.Println()
: Imprime texto en la consola seguido de un salto de línea.
fmt.Printf()
: Imprime texto formateado, similar a printf
en C.
fmt.Scan()
: Lee entradas del usuario.
Por ejemplo creamos la siguiente estructura de directorios:
Y creamos dos ficheros en el directorio models:
user.go
chatroom.go
Ambos ficheros pertenecen al mismo package: models. Otro detalle importante, es que las funciones/variables etc declaradas en un mismo paquete son visibles para todos los archivos go por defecto, no hace falta hacer import.
Como se puede observar la struct chatroom utiliza la struct User a pesar de que está definida en otro fichero.
El nombre de paquete main está reservado para el punto de entrada de la aplicación y debe contener la función main que es la función de entrada de la aplicación