ir entre el paquete de idioma

explicación

Entre el ir idioma, todos los archivos de programa de idioma ir se organizan en grupos, cada archivo se conoce como un paquete. Mediante esta disposición, el código de cada paquete puede ser utilizado como una unidad de multiplexado, de manera que se puede utilizar para otros proyectos.

Por ejemplo, podemos ir mirada en ellos incorporados neta paquete, probablemente, de la siguiente manera:

incluye una serie de documentos relativos al .go para la extensión en la que estos directorios. Cada uno de los cuales puede ser individualmente importación paquete y referencias, de modo que los desarrolladores pueden importar una función específica en función de sus necesidades.

ir entre llamado paquete de idioma es en realidad nuestro ordenador en una carpeta, un paquete es una carpeta.

Todos los archivos, excepto .go líneas en blanco y los comentarios deben declararse el paquete al que pertenecen en la primera fila. Cada paquete en un directorio independiente. No se puede poner varios paquetes en el mismo directorio, ni se puede dividir en varios directorios diferentes, con un paquete de archivos. Esto significa que todos los archivos .go en el mismo directorio debe declarar el mismo nombre del paquete.

nombrar paquetes

paquetes de nomenclatura van idioma, siga los principios simples del directorio con el mismo nombre en minúsculas, y vaya archivo se encuentra, por lo que nosotros citamos, la escritura y localizar rápidamente hallazgo (por supuesto, el nombre del paquete puede y nombres de directorio son diferentes, pero esto no es recomendable).

No requiere que los nombres de todos los paquetes y otros paquetes son diferentes, porque cuando importación de paquetes es utilizar la ruta completa, es posible distinguir entre los diferentes paquetes del mismo nombre. En circunstancias normales, después de haber sido introducido en el paquete va a utilizar su nombre como el nombre del paquete por defecto, pero el nombre se puede modificar después de la importación. Esta característica cuando se necesita importar el paquete del mismo nombre en diferentes directorios útiles.

Por sí mismos o programa desarrollado, generalmente usamos el nombre de dominio como una forma de la parte superior el nombre del paquete, por lo que no se preocupe y otros desarrolladores paquete duplicado de nombres.

Github.com como nombre de dominio, a continuación, en el desarrollo del programa han sido github.com como la parte más alta de la dirección en él.

Si un kit para ser introducida, puede ser de la siguiente manera:

package main 

import "github.com/tools"

Por supuesto, si se utiliza ide, ide tanto cuando se utiliza un paquete, que le ayudará automáticamente le contrajo introdujo en.

paquete principal

Entre el lenguaje Go, la principal es un significado especial. compilador de lenguaje Ir tratará de compilar este paquete es el nombre del archivo ejecutable binario. Todo con Go ejecutable compilador de lenguaje debe tener un nombre principal de paquetes.

En el pelotón principal, asegúrese de incluir la función principal, de lo contrario el programa no creará un archivo ejecutable. función principal es el procedimiento de entrada, por lo que si el programa no se encuentra entre la función principal, no se ejecutará el programa. nombre del directorio del programa de directorio compilado, sería utilizar la instrucción en el código de paquete principal como nombre de archivo ejecutable binario.

Vamos a crear un paquete de saludo, para demostrar contenido:

package main 

import "fmt"

func main() {
	fmt.Println("hello,world")
}

Cortamos al directorio hola siguiente a través de la ejecución de un terminal, a continuación, go buildse generará un archivo ejecutable.

En las ventanas de las cuales genera un archivo ejecutable .exe en UNIX o Linxu generará archivos ejecutables binarios.

Importar paquete

Para utilizar un paquete, primero debe importarlos antes de poder utilizar, el lenguaje Go ofrece una importación de palabra clave para importar un paquete, palabra clave Ir decirle al compilador dónde encontrar el paquete de discos con el fin de importación, por lo que el paquete debe ser importado es una ruta completa bolsa, que es la ubicación del paquete se encuentra.

import "fmt"

Esto significa que podemos importar el paquete FMT, se le dice al compilador que ir, queremos utilizar este paquete el siguiente código. Si va a importar varios paquetes cómo hacerlo? Ir lenguaje también bloque de importación de Estados Unidos.

import (
	"net/http"
	"fmt"
)

La introducción de un par de bloques incluido en paréntesis, cada paquete en una línea separada.

Durante más de una ruta del nombre del paquete, el tiempo que se hace referencia en el código, utilice la ruta completa al nombre del paquete final como las referencias al nombre del paquete, como net / http, que en el código usando HTTP, en lugar de la red.

paquete remoto importación

Ir en el proceso de desarrollo, muchos paquetes se colocan en github ellos, idioma ir naturalmente apoya el caso de este paquete de importación remoto.

Por ejemplo:

import "github.com/spf13/cobra"

Esta importación, a condición de que el paquete debe estar alojado en un sistema de control de versiones distribuido, como Github, Bitbucket, etc., y es permisos Públicas, nos permite acceder a ellos directamente.

Cuando se compila el programa, primero vaya al paquete correspondiente en el entorno local, que, si no, va a conseguir a través de ir a buscar las herramientas del sistema de control de versiones (GitHub), descarga en una ubicación especificada por el compilador referencia a su uso.

ir a buscar la herramienta puede obtener de forma recursiva dependencias, si github.com/spf13/cobra también citó otros paquetes remotos, la herramienta se puede descargar juntos.

importación designado

Sabemos que, en la función correspondiente utilizando el paquete de importación después de la introducción de palabras clave, podemos utilizar el paquete a través del nombre del paquete en la interfaz de código. Si el nombre del paquete Importamos sólo tenemos duplicar la forma de hacerlo? En vista de esta situación, el lenguaje Go nos permite cambiar el nombre del paquete importado, que se nombra después de la importación.

package main

import (
	"fmt"
	myfmt "mylib/fmt"
)

func main() {
	fmt.Println()
	myfmt.Println()
}

Si no cambia el nombre, a continuación, para el compilador, que es a la vez el área FMT no podía decir. El cambio de nombre es muy simple, cuando se importa, a la izquierda del nombre del paquete, de un nuevo nombre de paquete en él.

Ir estipula lenguaje que paquete importado se debe utilizar, de lo contrario será un paquete de error de compilación, esta es una muy buena regla, ya que elimina una gran cantidad de código inútil que nos referimos como resultado la hinchazón y los procedimientos enormes código, porque una gran cantidad de veces, nos no sé cuál es el paquete usos, esto a menudo se encontrará en C y Java, y algunas veces tuvimos que utilizar la herramienta para buscar archivos, tipos, métodos y variables que no usamos, etc., para esta labor.

Pero a veces, tenemos que importar un paquete, pero no lo uso, de acuerdo con las reglas, esto no funciona, para el idioma Go nos proporciona un identificador en blanco _, que sólo tendrá que utilizar _ para cambiar el nombre del paquete en el que la importación de ella.

package main

import (
	_ "mylib/fmt"
)

Función init

Cada paquete puede tener cualquier número de funciones init, init estas funciones se llevan a cabo antes de la función principal. función init utiliza generalmente para la inicialización de las variables, el establecimiento de orientación necesidad del trabajo o de otro paquete antes de la ejecución del programa. Por ejemplo, lo anterior estamos hablando de la necesidad de utilizar _ pabellón vacío para importar el propósito de un paquete que le gustaría llevar a cabo en esta función init paquete.

Nos dirigimos a la base de datos como un ejemplo, vaya a unificar el idioma en el acceso de base de datos, el uso de bases de datos / SQL capa de abstracción de las operaciones de base de datos para cumplir con nuestra MYSQL operativo, PostgreSQL y otras bases de datos, así que no importa qué controlador que utilice estas bases de datos, la codificación funcionamiento es el mismo, quiere cambiar el tiempo de conducción, puede ser sustituido directamente, sin necesidad de modificar el código específico.

Estos con bases de datos de alcanzar, está el hormigón se puede lograr por cualquier persona, y su principio es la definición de la función init, antes de que el programa se está ejecutando, la unidad para lograr un buen registro de paquete de SQL, así que usamos para operar la base de datos utilizando a.

package mysql

import (
	"database/sql"
)

func init() {
	sql.Register("mysql", &MySQLDriver{})
}

Sólo queremos hacer esto debido a que el paquete mysql método init, no quiero utilizar este paquete, por lo que cuando se importa este paquete, es necesario utilizar _ para cambiar el nombre del nombre del paquete, para evitar errores de compilación.

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user:password@/dbname")
Publicado 10 artículos originales · ganado elogios 3 · Vistas 1219

Supongo que te gusta

Origin blog.csdn.net/weixin_44568935/article/details/104816656
Recomendado
Clasificación