En av de medvirkende faktorene til Gos popularitet er verktøysettet som støtter utviklerproduktivitet.
De gå kommandoen har mange underkommandoer og alternativer for å fungere med go-kildekoden. Den lar deg bygge og kjøre programmer, administrere avhengigheter og mer.
Få en oversikt over Go-kommandoer og konfigurasjon
Du kan se listen over tilgjengelige Go-kommandoer ved å bruke hjelp kommando:
gå hjelp
Uten ytterligere argumenter, viser denne kommandoen alle kommandoer, og beskriver hva hver enkelt gjør. Den viser også emner som er ekstra hjelpesider som ikke refererer direkte til kommandoer:
Du kan bruke hjelp kommando med en hvilken som helst annen Go-kommando eller -emne for å se en oversikt over hva kommandoen gjør:
gå hjelpe test
Du kan bruke env kommando for å se dine Go-miljøvariabler:
gå env
Du kan bruke Go-miljøvariabler til å rekonfigurere Go-kjøretiden sammen med andre viktige innstillinger.
Du kan få tilgang til en spesifikk miljøvariabel ved å spesifisere variabelnavnet etter env kommando. For eksempel for å skrive ut gjeldende verdi av GOPATH variabel:
gå env GOPATH
GOPATH er rotmappen til et Go-arbeidsområde, og andre Go-arbeidsområder refererer til GOPATH. Innstilling av GOPATH-miljøet er en forutsetning for å bruke noen Go-pakker.
Som standard er GOPATH satt til $HJEM/gå eller %USERPROFILE%\go avhengig av operativsystemet ditt. Du kan endre GOPATH ved å legge den til i skallkonfigurasjonsfilen.
eksporter GOPATH=/full/gå/path
Kommandoen endrer GOPATH til den angitte banen.
Installere og bygge pakker i farten
Du må installere og administrere eksterne avhengigheter mens du er jobbe med Go.
Du kan bruke få kommando for å laste ned avhengigheter av pakkene dine. Du må spesifisere ressursplasseringen som et argument til få kommando:
gå skaff deg gorm.io/gorm
gå skaff deg github.com/spf13/cobra
Disse kommandoene installerer den populære GORM ORM-pakken for SQL-databaser og Cobra-pakken for å bygge CLI-er. Du kan importere pakken i programmet ditt ved å spesifisere ressursbanen deres:
import (
"gorm.io/gorm"
"github.com/spf13/cobra"
)
Go gir en bygge kommando for å bygge programmene dine. Byggkommandoen kompilerer pakker til binære kjørbare filer:
gå bygge
gå bygge "pakke Navn"
Kommandoen ovenfor kompilerer pakken din til en kjørbar fil i arbeidskatalogen din.
Du kan angi en bane med bygge kommando for å lagre den kjørbare filen i en spesifisert katalog.
gå bygg "katalogbanen din her"
Du kan bruke installere kommando for å kompilere og installere Go-moduler. Som bygge kommando, installere bygger programmet ditt. Men det legger også til en kjørbar pakke til dine Go-binærfiler i din $GOPATH/bin installasjonskatalog.
gå installere
Installeringskommandoen installerer pakkene i arbeidskatalogen din uten ytterligere argumenter. Du kan angi en valgfri ressursplassering for å installere eksterne avhengigheter.
gå installer golang.org/x/tools/gopls@latest
Denne kommandoen installerer den angitte Go-pakken, og du kan kjøre pakken som et kommandolinjeverktøy.
Administrere avhengigheter i Go
Avhengighetsadministrasjonskommandoer er noen av de vanligste kommandoene du vil bruke med alle språk. Du må laste ned, oppdatere og se applikasjonens avhengigheter gjennom utviklingsfasen.
De mod kommando gir tilgang til operasjoner på Go-moduler og avhengighetsadministrasjon.
Du trenger en ekstra underkommando med mod-kommandoen avhengig av operasjonen din.
De i det underkommando initialiserer en Go-modulfil i gjeldende arbeidskatalog:
gå mod init
Når du kjører kommandoen, finner du en go.mod fil i arbeidskatalogen din med en liste over appens avhengigheter.
Du kan bruke ryddig underkommando for å legge til manglende moduler og fjerne ubrukte moduler:
gå mod ryddig
Denne kommandoen er nyttig når du har Go-filer og du må laste ned avhengighetene til pakken.
De kurve underkommando returnerer en liste over en moduls krav:
gå mod graf
Denne kommandoen er nyttig for å hente en oversikt over dine avhengigheter.
Det kan hende du må sjekke pakkene og modulene i ditt nåværende arbeidsområde av ulike årsaker. De liste kommandoen viser alle pakkene og modulene i et spesifisert format.
Kjør denne kommandoen for å vise alle pakker og moduler i et arbeidsområde.
gå liste -m alle
Kommandoen viser også direkte og indirekte avhengigheter i arbeidskatalogen.
Gå til testkommandoer
Testing er et annet viktig aspekt ved Go-utvikling. De test kommandoen automatiserer testpakker som er navngitt etter importbanene og gir ut et sammendrag av testresultatene.
På å kjøre test kommandoen, ser Go-kompilatoren etter Go-testfiler, kjører testene og sender ut resultatene. Den typiske navnekonvensjonen for Go-testfiler er å bruke en _test suffiks:
ta på noe_test.gå
Denne kommandoen oppretter en Go-testfil på Unix-baserte systemer. Du kan fortsette å skrive Go-testene dine og kjøre dem med test kommando.
Du trenger ikke nødvendigvis flere kommandoer eller argumenter for å kjøre Go-testen.
gå test
Uten tilleggsparametere test kommando gir testresultater i dette skjemaet.
Den første kolonnen er testens status, den andre er pakken, og den tredje er testens varighet.
Legger til -v flagget returnerer en detaljert utgang av testresultatene:
gå test -v
De -v flagget returnerer statusen til hver testfunksjon sammen med resultatene av å kjøre test kommando uten flagg.
Du kan beregne testdekningen til pakken din med --dekke flagg.
gå test --omslag
De --dekke flagget returnerer prosentandelen av koden testene dekker i pakken din.
Du kan legge til en valgfri katalogparameter før --dekke flagg for å få tilgang til testdekningen i en bestemt katalog.
gå test "katalog" --cover
Kommandolinjeapplikasjoner kan gjøre visse oppgaver mye raskere, spesielt repeterende. De har også en tendens til å være mer lette siden de ikke involverer mer komplekse grafiske operasjoner.
En av de tiltenkte brukstilfellene av Go er å bygge interaktive kommandolinjeapplikasjoner. Mange populære CLI-apper, fra Docker til Hugo, er bygget i Go.
Go gir en flagg pakke for å bygge interaktive CLI-verktøy som Go CLI i standardbiblioteket. Du kan bruke eksterne pakker som Cobra, Viper og mange andre i Gos økosystem for å bygge raske, interaktive kommandolinjeapplikasjoner i Go.