ir a la gestión de paquetes (biblioteca)

Este artículo siempre sigue la última versión, por lo que se eliminará el contenido obsoleto. Si lo encuentras desactualizado, por favor contáctame si puedes.

ir mod

El siguiente contenido se ha integrado en Goland, por lo que los hermanos que usan Goland pueden escribirgo mod tidy

Introducción a los módulos go

go módulos es una nueva característica de golang 1.11, que se utiliza para gestionar las dependencias de los paquetes en los módulos .

Cómo usar ir mod

  • Inicializar el módulogo mod init <项目模块名称>
  • Manejo de dependencias, según el archivo go.modgo mod tidy
  • Copie el paquete de dependencia en el directorio de proveedores del proyecto. go mod vendor Si el paquete está bloqueado (pared), puede usar este comando y luego usar go build -mod=vendor para compilar
  • mostrar dependenciasgo list -m all
  • mostrar dependencias detalladasgo list -m -json all
  • descargar descarga dependiente

    importar

importación de ruta completa

importación de una sola línea

import "包名"

importación multilínea

Lo mejor es organizarlos en orden ASCII. (Mi sugerencia es dejar este asunto al IDE) Dejar este asunto mecanizado a la máquina. §(  ̄▽ ̄

import (
	"包名"
	"包名"
	"包名"
)

ejemplo

import (
	_ "fmt"
	"log"
	"os"
)

Solo importa y no usa

Indica que solo se llama e implementa la función de inicialización ( go init function ) de la biblioteca importada, y el escenario de uso es principalmente una conexión de base de datos.

import _ "包名"

ejemplo

import _ "fmt"

Renombrar paquetes importados

Para evitar paquetes importados con el mismo nombre (¿Es normal que diferentes autores tengan el mismo nombre?)(th_th)

impor 新名 "包名"

ejemplo

import (
    "crypto/rand"
    mrand "math/rand" // 将名称替换为mrand避免冲突
)

El cambio de nombre de los paquetes importados solo afecta al archivo de origen actual. Otros archivos de origen que importan el mismo paquete pueden usar el nombre predeterminado original del paquete importado o cambiar su nombre a un nombre completamente diferente.

No muestre el nombre de la biblioteca, llame al método directamente

El efecto es eliminar el nombre del paquete. En ese momento, no se recomendaba. Es fácil tener el mismo nombre en proyectos grandes. En este momento, el nombre del paquete es una clave para distinguir funciones.

import . "包名"

descargar

有些时候,你需要的包并没有被包含,因此你在写代码时不会出现代码补全;又或者你使用别人的项目发现一片红色,大概率就是你没有下载对应的包。

go get

go get 只用来下载普通的包,安装可执行程序,应该使用 go install
即 go get 现在仅仅只能增减依赖包

In Go 1.18, go get will no longer build packages; it will only be used to add, update, or remove dependencies in go.mod. Specifically, go get will always act as if the -d flag were enabled.

关于 url 可以到 https://pkg.go.dev/ 中直接查询

命令格式

go get url [附加参数]

附加参数

使用 go get 时可以配合附加参数显示更多的信息及实现特殊的下载和安装操作,详见下表所示。

标记名称 描述
-d 让命令程序只执行下载动作,而不执行安装动作。
-f 仅在使用-u标记时才有效。该标记会让命令程序忽略掉对已下载代码包的导入路径的检查。如果下载并安装的代码包所属的项目是你从别人那里Fork过来的,那么这样做就尤为重要了。
-fix 让命令程序在下载代码包后先执行修正动作,而后再进行编译和安装。
-t 让命令程序同时下载并安装指定的代码包中的测试源码文件中依赖的代码包。
-u Deje que el comando use la red para actualizar los paquetes de código existentes y sus dependencias. De forma predeterminada, este comando solo descargará paquetes de código que no existen localmente desde la red y no actualizará los paquetes de código existentes.

ir a instalar

Este comando se usa para compilar e instalar los paquetes de código especificados y sus paquetes dependientes. Cuando los paquetes dependientes del paquete de código especificado no se han compilado ni instalado, este comando procesará primero los paquetes dependientes. Al igual que con go builel comando d, go installlos argumentos del paquete de código pasados ​​al comando deben proporcionarse como rutas de importación.

Además, go buildla mayoría de las banderas para comandos también se pueden usar para go installcomandos. De hecho, go installel comando solo go buildhace una cosa más que el comando, a saber: instalar el archivo de resultados compilado en el directorio especificado.

ir a la configuración del proxy

Supongo que te gusta

Origin blog.csdn.net/qq_40790680/article/details/128971669
Recomendado
Clasificación