Komandrindas saskarnes (CLI) joprojām ir populāras pat grafisko lietotāja interfeisu (GUI) un to interaktīvo vizuālo komponentu gadījumā. CLI joprojām tiek izmantotas to vienkāršības, viegluma un ātruma dēļ, kā arī mazāk resursu, kas nepieciešami CLI lietojumprogrammas iestatīšanai.

Lielākā daļa CLI lietotņu darbojas operētājsistēmas terminālī vai komandrindā, palielinot elastību, neprasot tik daudz resursu kā GUI.

Varat izveidot CLI ar populārām valodām no Python līdz C++, Rust un Go. Lielākā daļa valodu nodrošina pakotnes CLI lietotņu izveidei bez ārējām atkarībām.

Iet un komandrindas lietojumprogrammas

Viens no paredzētajiem Go programmēšanas valodas lietošanas gadījumiem ir interaktīvu CLI izveide. Gadu gaitā Go ir guvis panākumus šajā jomā.

Go nodrošina tādas populāras CLI lietojumprogrammas kā Docker CLI, Hugo, GitHub CLI un citas. Go ir viena no vēlamajām valodām CLI lietotņu izveidei, ņemot vērā tās augstākās klases atbalstu tām līdzās veiktspējai.

Tur ir karogs pakotne komandrindas parsēšanai, taču tai trūkst daudz funkcionalitātes, kas būs nepieciešamas, lai izveidotu modernas komandrindas programmas. Arī CLI lietotņu izstrāde ar

instagram viewer
karogs pakotne var būt sarežģīta, jo palielinās jūsu lietotnes izmērs un jūs iekļaujat vairāk funkciju.

Go ekosistēmā ir daudz cienījamu pakotņu CLI veidošanai ar funkcijām, kas palīdz samazināt izstrādes laiku.

Kobras pakete

Kobra ir viena no populārākajām pakotnēm CLI veidošanai Go ekosistēmā un ārpus tās. Cobra ir pakotne interaktīvu, modernu CLI lietotņu izveidei jebkurā vidē.

Cobra nodrošina vienkāršu saskarni, lai izveidotu nozares standarta CLI, kas ir līdzīgi Go rīkiem un Git. Cobra nodrošina daudzas CLI lietojumprogrammas, ar kurām esat mijiedarbojies, tostarp Docker, Kubernetes, Twitch, Hugo un daudzas citas.

Cobra ir viegli lietojams, uz apakškomandām balstīts rīks. Tā atbalsta ar POSIX saderīgus karogus, ligzdotās apakškomandas un globālos, lokālos un kaskādes karogus.

Cobra atbalsta arī viedos ieteikumus, automātisku palīdzības ģenerēšanu, karogu atpazīšanu un komandu aizstājvārdus. Tas nodrošina čaulas automātisko pabeigšanu programmās Bash, Powershell, Fish un Zsh, kā arī integrāciju ar odze pakotne 12 faktoru lietotnēm.

Palaidiet šo komandu sava darba direktorija terminālī, lai instalētu jaunāko Cobra pakotnes versiju un tās atkarības.

aiziet get -u github.com/spf13/cobra@latest

Cobra nodrošina CLI lietotni ātrākai un vienkāršākai izstrādei. Cobra cli pakotne ģenerē standarta kodu, ko varat konfigurēt, lai bez problēmām pievienotu lietotnei jaunas komandas.

Palaidiet šo komandu sava darba direktorija terminālī, lai instalētu jaunāko Cobra-cli pakotnes versiju.

aiziet instalējiet github.com/spf13/cobra-cli@latest

Lai izmantotu Cobra ģeneratoru (Cobra-cli) un citus Go komandrindas rīkus, jums jāiestata mainīgais GOPATH savā darba direktorijā.

Pēc veiksmīgas instalēšanas varat inicializēt Cobra lietotni savā projektā, izmantojot tajā komandu.

kobra-kli init

Pēc Cobra lietotnes inicializācijas varat izmantot pievienot apakškomandu ar kobra-kli komandu, lai izveidotu un pievienotu jaunu komandu savai Cobra lietotnei.

cobra-cli pievienot jaunuCommand

Komanda izveido jaunu failu ar komandai nepieciešamo kodu. Varat rediģēt failu, pamatojoties uz jūsu darbību.

Šeit ir vienkārša komandu apstrādātāja funkcija komandai, kas ģenerēta ar komandu Cobra-cli.

imports (
"fmt"
"github.com/spf13/cobra"
"baļķis"
"strconv"
)

// kobras ģenerēta komanda

// newCmd apzīmē jauno komandu
var newCmd = &kobra. Komanda {
Izmantojiet: "newCmd",
Īss: "Jūsu norādītais newCmd apraksts",
Garš: Garāks apraksts, kas aptver vairākas rindiņas un, iespējams, satur piemērus
un jūsu komandas izmantošana. Piemēram:
Cobra ir CLI bibliotēka priekš Iet, kas nodrošina lietojumprogrammas.
Šī lietojumprogramma ir rīks nepieciešamo failu ģenerēšanai
lai ātri izveidotu Cobra lietojumprogrammu.`,

Palaist: func(cmd *kobra. Komanda, args []virkne) {
jalen(args) < 1 {
žurnāls. Fatāls ("Nav papildu argumentu")
}
argumenti := args[0]
fmt. Println (argumenti)
}
}

functajā() {
rootCmd. AddCommand (newCmd)

// Šeit jūs definēsit savus karogus un konfigurācijas iestatījumus.

// Cobra atbalsta pastāvīgos karogus, kas darbosies ar šo komandu
// un visas apakškomandas, piemēram:
// newCmd. PersistentFlags().String("foo", "", "Palīdzība foo")

// Cobra atbalsta vietējos karogus, kas darbosies tikai tad, kad šī komanda
// tiek izsaukts tieši, piemēram:
// newCmd. Karogi().BoolP("pārslēgt", "t", false, "palīdzības ziņojums pārslēgšanai")
}

Varat piekļūt papildu argumentiem, izmantojot args funkcijas arguments. Iepriekš minētā funkcija izmanto ja paziņojumu, lai pārbaudītu, vai terminālī ir papildu arguments, un izdrukā argumentu.

CLI pakotne

Cli pakete ir izteiksmīguma tēmas minimālisma pakotne, kas paredzēta ātru, izplatāmu CLI lietotņu izveidei Go.

Cli pakotne atbalsta komandrindas argumentus, karogus un apakškomandas ar kategorijām. Tam ir funkcionalitāte, lai nodrošinātu īsas iespējas, Bash pabeigšanas, ģenerētā palīdzība un versiju izveide.

Cli pakotne ir sadarbspējīga ar Go iebūvēto karogs un kontekstā pakotnes, un jūs varat izmantot lielāko daļu funkciju karogs iepakojums ar Cli.

Palaidiet šīs komandas darba direktorija terminālī, lai savam projektam pievienotu Graphql-go pakotni un tās atkarības.

aiziet iegūstiet vietni github.com/urfave/cli

Lūk, kā varat pievienot komandu savai CLI lietotnei, izmantojot Cli pakotni.

iepakojums galvenais

imports (
"fmt"
"baļķis"
"os"

"github.com/urfave/cli/v2"
)

funcgalvenais() {
lietotne := &cli. Lietotne {
Vārds: "jauns",
Lietošana: "veidot a jauns komanda ar Cli iepakojums",
Darbība: func(*kli. konteksts)kļūda {
fmt. Println ("Šeit ir a jauns komanda")
atgrieztiesnulle
},
}

ja kļūda := lietotne. Palaist (os. Args); kļūda! = nulle {
žurnāls. Liktenīga (kļūda)
}
}

Iekš galvenais funkcija, lietotne mainīgais ir Cli lietotnes un lietojumprogrammas gadījums Darbība lauks ir lietotnes apdarinātāja funkcija. Lūk, jauns komanda izdrukātu tekstu no funkcijas vai atgrieztu kļūdu, ja lietotnē ir kļūdas.

Cli pakotne ir noderīga mazākiem projektiem bez īpašas sarežģītības vai funkcijām.

Go-Arg pakotne

Go-arg pakotne ir uz struct balstīta pakotne CLI argumentu parsēšanai programmā Go. Izmantojot Go-arg pakotni, varat deklarēt CLI argumentu struktūras un darboties ar argumentiem kā parastajām Go datu struktūrām. Go-arg pakotne nodrošina nepieciešamos argumentus, pozīcijas argumentus, vides mainīgos, lietojuma virknes, noklusējuma vērtības un daudzas citas funkcijas.

Pakotne atbalsta pamata veidus, piemēram, vesels skaitlis, peldošā komata, virkne un Būla. Tā atbalsta arī sarežģītākus veidus, piemēram, vietrāžus URL, laika ilgumu, e-pasta adreses, MAC adreses, norādes, šķēles, kartes un jebkura veids.

Jūs varat izmantot gūt komandu, lai pievienotu pakotnes Go-arg pakotnes atkarībām.

aiziet iegūt github.com/alexflint/aiziet-arg

Go-arg pakotne ir vienkārša un intuitīvi lietojama. Lūk, kā jūs varat pieņemt argumentus no komandrindas un izdrukāt tos komandrindas konsolē.

funcgalvenais() {
var args struktūra {
Foo virkne
Bārs bool
}
arg. MustParse (&argumenti)
fmt. Println (args. Fū, args. Bārs)
}

The args struct ir CLI lietojumprogrammas struktūras gadījums. The Jāparsē metode parsē argumentus no komandrindas struct instancē.

Programmu var viegli palaist, izmantojot palaist komandu un norādiet argumentus aiz faila nosaukuma.

aiziet palaist galveno.aiziet --foo=sveiki --bar

Varat arī izmantot būvēt komandu, lai izveidotu savu lietotni izpildāmā failā pirms izpildāmā faila palaišanas un argumentu norādīšanas.


aiziet būvēt galveno.aiziet
./main --foo=hello --bar

Jums būs jāņem vērā būtiskas atšķirības starp GUI un CLI

Ja izstrādes laikā jums ir jāizvēlas starp CLI vai GUI izveidi lietotājiem, jums būs jāņem vērā daudzi faktori, lai izdarītu izvēli.

Izmantojot CLI, izmantojot GUI, tiek nodrošinātas ātrākas programmas, viegla automatizācija un mazāka resursu izmantošana. Ja kāda no šīm priekšrocībām nav būtiska jūsu lietojumprogrammai, jums varētu būt labāk izmantot GUI, jo tās ir populārākas vispārēju lietotāju vidū.