import - son - documentos de exportacion pdf
Lo que hace el ''.''(punto o punto) en una declaraciĆ³n de importaciĆ³n Go hacer? (2)
Aquí hay una analogía para los que vienen de Python:
- El
import "os"
de Go es más o menos equivalente al sistema deimport os
de Python -
import . "os"
import . "os"
es más o menos equivalente a Python de lafrom os import *
En ambos idiomas, usar este último generalmente no está bien visto, pero puede haber buenas razones para hacerlo.
En el tutorial de Go, y la mayoría del código Go que he analizado, los paquetes se importan así:
import (
"fmt"
"os"
"launchpad.net/lpad"
...
)
Pero en http://bazaar.launchpad.net/~niemeyer/lpad/trunk/view/head:/session_test.go , el paquete gocheck se importa con a .
(período):
import (
"http"
. "launchpad.net/gocheck"
"launchpad.net/lpad"
"os"
)
¿Cuál es el significado de la .
(período)?
Permite que los identificadores en el paquete importado se mencionen en el bloque de archivos local sin un calificador.
Si aparece un período explícito (.) En lugar de un nombre, todos los identificadores exportados del paquete se declararán en el bloque de archivos del archivo actual y se podrá acceder a ellos sin un calificador.
Supongamos que hemos compilado un paquete que contiene el paquete package clause math, que exporta la función Sin, e instalamos el paquete compilado en el archivo identificado por "lib / math". Esta tabla ilustra cómo se puede acceder a Sin en los archivos que importan el paquete después de los diversos tipos de declaración de importación.
Import declaration Local name of Sin
import "lib/math" math.Sin
import M "lib/math" M.Sin
import . "lib/math" Sin