Կարևոր 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-ում արագ, ինտերակտիվ հրամանի տող հավելվածներ ստեղծելու համար: