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 fuente que se encuentran en la misma carpeta. Todos los archivos fuente de una carpeta deben tener el mismo nombre de paquete al inicio del archivo. Por convención, los paquetes se nombran igual que la carpeta en la que se encuentran.

package greeting

Go ofrece 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"

Puedes importar varios paquetes a la vez agrupándolos entre paréntesis.

package greeting

import (
    "errors"
    "fmt"
)

Los paquetes de terceros se importan usando la URL de la ubicación del paquete. Puedes asignarle un alias a un paquete al importarlo. Esto sirve para evitar conflictos entre nombres de paquetes:

package greeting

import (
	"errors"

	errs "github.com/pkg/errors"
)

Luego, un paquete importado se referencia con el nombre del paquete o con 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 fuera (lo que se conoce como exported), el nombre debe empezar con mayúscula. Esto es análogo a cómo otros lenguajes de programación, como Java, 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 tipos struct personalizados: los nombres de campo que empiezan con mayúscula son visibles desde fuera, y los que empiezan con minúscula no lo son.

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

Aprende Paquetes

La práctica está bloqueada

Desbloquea 1 ejercicio más para practicar Paquetes