Saltar al contenido

Importar estructura de otro paquete y archivo golang

Solución:

En Go no importa tipos ni funciones, importa paquetes (ver Especificaciones: Declaraciones de importación).

Un ejemplo de declaración de importación:

import "container/list"

Y al importar un paquete, obtiene acceso a todos sus exportado identificadores y puede referirse a ellos como packagename.Identifiername, por ejemplo:

var mylist *list.List = list.New()

// Or simply:
l := list.New()

Hay algunos trucos en la declaración de importación, por ejemplo, haciendo:

import m "container/list"

Puede hacer referencia a los identificadores exportados con "m.Identifiername", p.ej

l := m.New()

También haciendo:

import . "container/list"

Puede omitir el nombre del paquete por completo:

l := New()

Pero solo utilícelos “en caso de emergencia” o cuando haya colisiones de nombres (que son raras).

Lo que @icza dijo arriba más:

Con Go 1.9 hay alias de tipo que le permiten importar tipos de paquetes y alias en lo que parece local tipos:

package.go contenido:

type A struct {
    X, Y int
}

main.go contenido:

...

import myTypes "path/to/package"

// Note the equal sign (not empty space)
// It does NOT create a new "subclass"
// It's an actual alias that is local.
// Allows you to avoid whole-sale `import . "path/to/package"` which imports all objects from there into local scope.
type A = myTypes.A

...
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *