Կարևոր Go հրամանների և դրոշների ակնարկ


Իմացեք ամեն ինչ go command-line ծրագրի, դրա ենթահրամանների և ընտրանքների մասին:

Go-ի ժողովրդականությանը նպաստող գործոններից մեկը նրա գործիքների հավաքածուն է, որն աջակցում է մշակողների արտադրողականությանը:

go հրամանն ունի բազմաթիվ ենթահրամաններ և տարբերակներ՝ ձեր go սկզբնաղբյուրի հետ աշխատելու համար: Այն թույլ է տալիս ստեղծել և գործարկել ծրագրեր, կառավարել կախվածությունները և ավելին:

Ստանալով Go-ի հրամանների և կազմաձևման ակնարկ

Դուք կարող եք դիտել հասանելի Go հրամանների ցանկը՝ օգտագործելով օգնություն հրամանը.

go help 

Առանց լրացուցիչ փաստարկների, այս հրամանը թվարկում է բոլոր հրամանները՝ նկարագրելով, թե ինչ է անում յուրաքանչյուրը: Այն նաև ցուցադրում է թեմաներ, որոնք լրացուցիչ օգնության էջեր են, որոնք ուղղակիորեն չեն վերաբերում հրամաններին.

Դուք կարող եք օգտագործել help հրամանը ցանկացած այլ Go հրամանի կամ թեմայի հետ՝ տեսնելու, թե ինչ է անում հրամանը:

go help test

Դուք կարող եք օգտագործել env հրամանը՝ ձեր Go միջավայրի փոփոխականները դիտելու համար.

go env

Դուք կարող եք օգտագործել Go միջավայրի փոփոխականները՝ այլ կարևոր պարամետրերի հետ միասին Go-ի գործարկման ժամանակը վերակազմավորելու համար:

Դուք կարող եք մուտք գործել որոշակի միջավայրի փոփոխական՝ env հրամանից հետո նշելով փոփոխականի անունը: Օրինակ՝ GOPATH փոփոխականի ընթացիկ արժեքը տպելու համար.

go env GOPATH

GOPATH-ը Go աշխատանքային տարածքի արմատային թղթապանակն է, իսկ Go-ի մյուս աշխատանքային տարածքները վերաբերում են GOPATH-ին: GOPATH միջավայրի կարգավորումը նախապայման է որոշ Go փաթեթներ օգտագործելու համար:

Լռելյայնորեն, GOPATH-ը դրված է $HOME/go կամ %USERPROFILE%\go՝ կախված ձեր օպերացիոն համակարգից: Դուք կարող եք փոխել GOPATH-ը՝ ավելացնելով այն shell-ի կազմաձևման ֆայլին:

export GOPATH=/full/go/path

Հրամանը փոխում է GOPATH-ը նշված ուղու վրա:

Փաթեթների տեղադրում և կառուցում Go-ում

Go-ի հետ աշխատելիս ձեզ հարկավոր է տեղադրել և կառավարել արտաքին կախվածությունները:

Դուք կարող եք օգտագործել get հրամանը՝ ձեր փաթեթների կախվածությունները ներբեռնելու համար: Դուք պետք է նշեք ռեսուրսի գտնվելու վայրը՝ որպես get հրամանի փաստարկ.

go get gorm.io/gorm
go get github.com/spf13/cobra

Այս հրամանները տեղադրում են հայտնի GORM ORM փաթեթը SQL տվյալների բազաների համար և Cobra փաթեթը՝ CLI-ներ կառուցելու համար: Դուք կարող եք փաթեթը ներմուծել ձեր ծրագրում՝ նշելով դրանց ռեսուրսի ուղին.

import (
    "gorm.io/gorm"
    "github.com/spf13/cobra"
)

Go-ն ապահովում է build հրաման՝ ձեր ծրագրերը ստեղծելու համար: Build հրամանը փաթեթները կազմում է երկուական գործարկվողների մեջ.

go build 
go build "package name"

Վերևի հրամանը ձեր փաթեթը կազմում է ձեր աշխատանքային գրացուցակի գործարկվողի մեջ:

Դուք կարող եք ճանապարհ նշել build հրամանով՝ գործարկվողը նշված գրացուցակում պահելու համար:

go build "your directory path here"

Դուք կարող եք օգտագործել install հրամանը՝ Go մոդուլները կազմելու և տեղադրելու համար: Ինչպես build հրամանը, install-ը կառուցում է ձեր ծրագիրը: Բայց այն նաև գործարկվող փաթեթ է ավելացնում ձեր Go երկուականներին ձեր $GOPATH/bin տեղադրման գրացուցակում:

go install

Տեղադրման հրամանը փաթեթները տեղադրում է ձեր աշխատանքային գրացուցակում՝ առանց լրացուցիչ փաստարկների: Դուք կարող եք նշել կամընտիր ռեսուրսի գտնվելու վայրը՝ արտաքին կախվածությունները տեղադրելու համար:

go install golang.org/x/tools/gopls@latest

Այս հրամանը տեղադրում է նշված Go փաթեթը, և դուք կարող եք փաթեթը գործարկել որպես հրամանի տող գործիք:

Go-ում կախվածության կառավարում

Կախվածության կառավարման հրամանները ամենատարածված հրամաններից են, որոնք դուք կօգտագործեք ցանկացած լեզվով: Դուք պետք է ներբեռնեք, թարմացնեք և դիտեք ձեր հավելվածի կախվածությունը ձեր զարգացման փուլում:

mod հրամանը հնարավորություն է տալիս մուտք գործել Go մոդուլների վրա գործառնություններ և կախվածության կառավարում:

Ձեզ անհրաժեշտ կլինի լրացուցիչ ենթահրաման՝ mod հրամանով, կախված ձեր գործողությունից:

init ենթահրամանը սկզբնավորում է Go modules ֆայլը ընթացիկ աշխատանքային գրացուցակում.

go mod init

Հրամանը գործարկելիս ձեր աշխատանքային գրացուցակում կգտնեք go.mod ֆայլ՝ ձեր հավելվածի կախվածությունների ցանկով:

Դուք կարող եք օգտագործել կոկիկ ենթահրամանը բացակայող մոդուլներ ավելացնելու և չօգտագործված մոդուլները հեռացնելու համար.

go mod tidy

Այս հրամանը օգտակար է, երբ դուք ունեք Go ֆայլեր, և դուք պետք է ներբեռնեք կախվածությունները ձեր փաթեթում:

graph ենթահրամանը վերադարձնում է մոդուլի պահանջների ցանկը.

go mod graph

Այս հրամանը օգտակար է ձեր կախվածությունների ակնարկ ստանալու համար:

Հնարավոր է, տարբեր պատճառներով ձեզ անհրաժեշտ լինի ստուգել փաթեթներն ու մոդուլները ձեր ընթացիկ աշխատանքային տարածքում: list հրամանը թվարկում է բոլոր փաթեթներն ու մոդուլները նշված ձևաչափով:

Գործարկեք այս հրամանը՝ աշխատանքային տարածքում բոլոր փաթեթներն ու մոդուլները թվարկելու համար:

go list -m all

Հրամանը նաև թվարկում է ուղղակի և անուղղակի կախվածությունները աշխատանքային գրացուցակում:

Գնացեք փորձարկման հրամաններ

Փորձարկումը Go-ի զարգացման ևս մեկ կարևոր ասպեկտ է: test հրամանը ավտոմատացնում է թեստավորման փաթեթները, որոնք անվանվել են դրանց ներմուծման ուղիներով և թողարկում է թեստի արդյունքների ամփոփագիրը:

test հրամանը գործարկելիս Go կոմպիլյատորը ստուգում է Go թեստային ֆայլերը, գործարկում է թեստերը և թողարկում արդյունքները: Go թեստային ֆայլերի անվանման սովորական պայմանը _test վերջածանց օգտագործելն է.

touch something_test.go

Այս հրամանը ստեղծում է Go թեստային ֆայլ Unix-ի վրա հիմնված համակարգերում: Դուք կարող եք շարունակել գրել ձեր Go թեստերը և գործարկել դրանք test հրամանով:

Ձեզ պարտադիր չէ, որ անհրաժեշտ լինեն լրացուցիչ հրամաններ կամ փաստարկներ՝ ձեր Go թեստն իրականացնելու համար:

go test

Առանց լրացուցիչ պարամետրերի, test հրամանը թողարկում է թեստի արդյունքները այս ձևով:

Առաջին սյունակը թեստի կարգավիճակն է, երկրորդը՝ փաթեթը, իսկ երրորդը՝ թեստի տևողությունը։

-v դրոշի ավելացումը վերադարձնում է թեստի արդյունքների մանրամասն ելք.

go test -v

-v դրոշը վերադարձնում է յուրաքանչյուր թեստային ֆունկցիայի կարգավիճակը՝ առանց դրոշակի test հրամանի գործարկման արդյունքների հետ միասին:

Դուք կարող եք հաշվարկել ձեր փաթեթի թեստային ծածկույթը --cover դրոշակով:

go test --cover

--cover դրոշը վերադարձնում է ձեր փաթեթում ներառված կոդերի տոկոսը:

Դուք կարող եք --cover դրոշից առաջ ավելացնել գրացուցակի կամընտիր պարամետր՝ որոշակի գրացուցակի թեստային ծածկույթին մուտք գործելու համար:

go test "directory" --cover

Դուք կարող եք ստեղծել նման հրամանի տող գործիքներ Go-ում

Հրամանի տողերի հավելվածները կարող են շատ ավելի արագ կատարել որոշ առաջադրանքներ, հատկապես կրկնվողները: Նրանք նաև հակված են լինել ավելի թեթև, քանի որ դրանք չեն ներառում ավելի բարդ գրաֆիկական գործողություններ:

Go-ի օգտագործման նախատեսվող դեպքերից մեկը կատարողական ինտերակտիվ հրամանի տող հավելվածների ստեղծումն է: Շատ հայտնի CLI հավելվածներ՝ Docker-ից մինչև Hugo, կառուցված են Go-ում:

Go-ն ապահովում է դրոշների փաթեթ՝ ստանդարտ գրադարանում Go CLI-ի նման ինտերակտիվ CLI գործիքներ ստեղծելու համար: Դուք կարող եք օգտագործել արտաքին փաթեթներ, ինչպիսիք են Cobra-ն, Viper-ը և շատ ուրիշներ Go-ի էկոհամակարգում՝ Go-ում արագ, ինտերակտիվ հրամանի տող հավելվածներ ստեղծելու համար: