Instale el entorno de desarrollo de lenguaje go en ubuntu

alrededores

VirtualBox
Ubuntu 18.04

Instalar golang

Utilice la herramienta de administración de paquetes del sistema para instalar golang. La ventaja de esto es que incluso si no es la última versión, no afectará el uso normal.

$ sudo apt-get install golang

Una vez completada la instalación, use el comando go version para ver la versión

$ go version

Insertar imagen aquí

Crear espacio de trabajo

Crear espacio de trabajo

El código Go debe colocarse en el espacio de trabajo. En realidad, es un directorio que contiene tres subdirectorios:

  • El directorio src contiene archivos fuente de Go, que están organizados en paquetes (cada directorio corresponde a un paquete),
  • El directorio pkg contiene objetos de paquete,
  • El directorio bin contiene comandos ejecutables

Utilice el comando mkdir para crear un espacio de trabajo

$ mkdir $HOME/go

Configurar la variable de entorno GOPATH

La variable de entorno GOPATH indica la ubicación de su espacio de trabajo (tenga en cuenta que esta ubicación no puede ser la misma que su directorio de instalación de go)

$ export GOPATH=$HOME/go

Agregue el subdirectorio bin de este espacio de trabajo a su PATH

$ export PATH=$PATH:$GOPATH/bin

Luego realice la configuración

$ source $HOME/.profile

Después de que la configuración sea exitosa, puede usar go env para verificar la configuración

$ go env

Inserte la descripción de la imagen aquí

Crear ruta de paquete

Cree una carpeta en el espacio de trabajo para almacenar sus archivos fuente

$ mkdir -p $GOPATH/src/github.com/user

¡Crea Hello World!

Primero seleccione la ruta del paquete y luego cree el archivo en la carpeta correspondiente

$ mkdir $GOPATH/src/github.com/user/hello

Cree un archivo
hello.go hello.go en el directorio hello

package main

import "fmt"

func main() {
	fmt.Printf("Hello World!\n")
}

Luego ingrese al directorio hello para ejecutar el archivo

$ go run hello.go

Inserte la descripción de la imagen aquí

Instale las herramientas y complementos necesarios

Instalar git

$ sudo apt-get install git

Descargar código fuente

# 创建文件夹(该命令要加-p,因为文件目录还不存在)
$ mkdir -p $GOPATH/src/golang.org/x/
# 下载源码
$ go get -d github.com/golang/tools
# copy 
$ cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf

Kit de instalacion

$ go install golang.org/x/tools/go/buildutil

Instale y ejecute el programa de saludo

$ go install github.com/user/hello

Este comando creará un archivo binario ejecutable llamado hello, lo instalará en el archivo bin del espacio de trabajo y creará un comando hello.
Inserte la descripción de la imagen aquí
Nota: Cuando cambie su archivo, debe reconstruir su programa, de lo contrario será ejecutable El binario sigue siendo el archivo anterior y el resultado de la ejecución del archivo no cambiará

Instalar go tour

$ go get github.com/Go-zh/tour/gotour
$ gotour

Inserte la descripción de la imagen aquí

Mi primer paquete y prueba

Tu primera biblioteca

Escriba una biblioteca propia y deje que el programa de saludo la use.
Seleccione la ruta del paquete y cree un directorio

$ mkdir $GOPATH/src/github.com/user/stringutil

Cree el archivo reverse.go en el directorio

// stringutil 包含有用于处理字符串的工具函数。
package stringutil

// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
	r := []rune(s)
	for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
		r[i], r[j] = r[j], r[i]
	}
	return string(r)
}

Construya el archivo con el comando go build

$ go build github.com/user/stringutil

Modifique el programa de saludo anterior y use la biblioteca que acaba de crear

package main

import (
	"fmt"

	"github.com/user/stringutil"
)

func main() {
	fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}

Reinstale el archivo de saludo con go install

$ go install github.com/user/hello

Inserte la descripción de la imagen aquí

prueba

Go tiene un marco de prueba ligero, que consta del comando go test y el paquete de prueba.

Puede escribir una prueba creando un archivo cuyo nombre termine en _test.go y contenga funciones llamadas TestXXX y firmadas como func (t * testing.T). El marco de prueba ejecutará cada una de estas funciones; si la función llama a una función que indica falla, como t.Error o t.Fail, la prueba indica falla.

Podemos agregar pruebas para stringutil creando el archivo $ GOPATH / src / github.com / user / stringutil / reverse_test.go

package stringutil

import "testing"

func TestReverse(t *testing.T) {
	cases := []struct {
		in, want string
	}{
		{"Hello, world", "dlrow ,olleH"},
		{"Hello, 世界", "界世 ,olleH"},
		{"", ""},
	}
	for _, c := range cases {
		got := Reverse(c.in)
		if got != c.want {
			t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
		}
	}
}

Use go test para probar

$ go test github.com/user/stringutil

Inserte la descripción de la imagen aquí

Resumen del problema

1. Preste atención a la exactitud de la ruta al crear el espacio de trabajo y los archivos de directorio. Si la ruta no existe al crear el archivo, agregue el parámetro -p
. 2. Cada vez que modifique el programa, debe reinstalar la instrucción temporal para actualizar la instrucción temporal. De lo contrario, aún ejecute el archivo ejecutable anterior

Supongo que te gusta

Origin blog.csdn.net/weixin_43980838/article/details/108694987
Recomendado
Clasificación