Tracks
/
Go
Go
/
Temario
/
Paquetes
Pa

Paquetes en Go

1 ejercicio

Acerca de Paquetes

En Go, una aplicación se organiza en paquetes. Un paquete es una colección de archivos de código fuente que se encuentran en la misma carpeta. Todos los archivos de código fuente de una carpeta deben tener el mismo nombre de paquete al principio del archivo. Por convención, los paquetes reciben el mismo nombre que la carpeta en la que se encuentran.

package greeting

Go proporciona una extensa biblioteca estándar de paquetes que puedes usar en tu programa con la palabra clave import. Los paquetes de la biblioteca estándar se importan usando su nombre.

package greeting

import "fmt"

Se pueden importar varios paquetes a la vez escribiéndolos entre paréntesis.

package greeting

import (
    "errors"
    "fmt"
)

Los paquetes de terceros se importan usando la URL de la ubicación del paquete. Al importar, se puede asignar un alias a un paquete. Esto puede servir para evitar conflictos entre nombres de paquetes:

package greeting

import (
	"errors"

	errs "github.com/pkg/errors"
)

Después, se hace referencia a un paquete importado con su nombre o su alias:

// using the internal errors package
errors.New("Connection not established")

// using the errors package located at github.com/pkg/errors by alias
errs.New("Connection not established")

Go determina si el código de otros paquetes puede llamar a un elemento según cómo esté declarado. Para que una función, un tipo, una variable o una constante sean visibles desde el exterior (lo que se conoce como exported), el nombre debe empezar por mayúscula. Esto es análogo a como lo hacen otros lenguajes de programación como Java, que usan modificadores de acceso como public y private.

package greeting

// Hello is a public function (callable from other packages).
func Hello(name string) string {
    return "Hello " + name
}

// hello is a private function (not callable from other packages).
func hello(name string) string {
    return "Hello " + name
}

Lo mismo se aplica a los nombres de campo en los tipos struct personalizados: los nombres de campo que empiezan por mayúscula son visibles desde el exterior, y los que empiezan por minúscula, no.

Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Paquetes

La práctica está bloqueada

Desbloquea 1 ejercicio más para practicar Paquetes