Οι διεπαφές γραμμής εντολών (CLI) εξακολουθούν να είναι δημοφιλείς ακόμη και σε σχέση με τις γραφικές διεπαφές χρήστη (GUI) και τα διαδραστικά οπτικά στοιχεία τους. Τα CLI εξακολουθούν να χρησιμοποιούνται λόγω της απλότητας, της ευκολίας, της ταχύτητας και των λιγότερων πόρων που απαιτούνται για τη ρύθμιση μιας εφαρμογής CLI.
Οι περισσότερες εφαρμογές CLI εκτελούνται στο τερματικό ή τη γραμμή εντολών του λειτουργικού συστήματος, αυξάνοντας την ευελιξία χωρίς να απαιτούνται τόσοι πόροι όσο τα GUI.
Μπορείτε να δημιουργήσετε CLI με δημοφιλείς γλώσσες από Python έως C++, Rust και Go. Οι περισσότερες γλώσσες παρέχουν πακέτα για τη δημιουργία εφαρμογών CLI χωρίς εξωτερικές εξαρτήσεις.
Μετάβαση και Εφαρμογές γραμμής εντολών
Μία από τις προβλεπόμενες περιπτώσεις χρήσης για τη γλώσσα προγραμματισμού Go είναι η δημιουργία διαδραστικών CLI με απόδοση. Με τα χρόνια, η Go έχει κερδίσει έλξη στον τομέα.
Το Go εξουσιοδοτεί δημοφιλείς εφαρμογές CLI όπως το Docker CLI, το Hugo, το GitHub CLI και άλλα. Το Go είναι μία από τις προτιμώμενες γλώσσες για τη δημιουργία εφαρμογών CLI, δεδομένης της πρώτης τάξεως υποστήριξής του για αυτές παράλληλα με την απόδοσή του.
Υπάρχει μια σημαία πακέτο για ανάλυση γραμμής εντολών, αλλά δεν διαθέτει πολλές λειτουργίες που θα χρειαστείτε για τη δημιουργία σύγχρονων εφαρμογών γραμμής εντολών. Επίσης, ανάπτυξη εφαρμογών CLI με το σημαία Το πακέτο μπορεί να είναι περίπλοκο καθώς το μέγεθος της εφαρμογής σας αυξάνεται και ενσωματώνετε περισσότερες δυνατότητες.
Το οικοσύστημα Go διαθέτει πολλά αξιόπιστα πακέτα για τη δημιουργία CLI, με δυνατότητες που βοηθούν στη μείωση του χρόνου ανάπτυξής σας.
Το πακέτο Cobra
Κόμπρα είναι ένα από τα πιο δημοφιλή πακέτα για τη δημιουργία CLI στο οικοσύστημα Go και όχι μόνο. Το Cobra είναι ένα πακέτο για τη δημιουργία διαδραστικών, σύγχρονων εφαρμογών CLI σε οποιοδήποτε περιβάλλον.
Η Cobra παρέχει μια απλή διεπαφή για τη δημιουργία CLI βιομηχανικών προτύπων παρόμοια με τα εργαλεία Go και το Git. Η Cobra τροφοδοτεί πολλές εφαρμογές CLI με τις οποίες έχετε αλληλεπιδράσει, συμπεριλαμβανομένων των Docker, Kubernetes, Twitch, Hugo και πολλών άλλων.
Το Cobra είναι ένα εύχρηστο εργαλείο που βασίζεται σε υποεντολές. Υποστηρίζει σημαίες συμβατές με POSIX, ένθετες υποεντολές και καθολικές, τοπικές και διαδοχικές σημαίες.
Η Cobra υποστηρίζει επίσης έξυπνες προτάσεις, αυτόματη δημιουργία βοήθειας, αναγνώριση σημαιών και ψευδώνυμα εντολών. Επιτρέπει την αυτόματη συμπλήρωση κελύφους σε Bash, Powershell, Fish και Zsh και την ενσωμάτωση με το οχιά πακέτο για εφαρμογές 12 παραγόντων.
Εκτελέστε αυτήν την εντολή στο τερματικό του καταλόγου εργασίας σας για να εγκαταστήσετε την πιο πρόσφατη έκδοση του πακέτου Cobra και τις εξαρτήσεις του.
πηγαίνω πάρτε -u github.com/spf13/cobra@latest
Η Cobra παρέχει μια εφαρμογή CLI για ταχύτερη και ευκολότερη ανάπτυξη. Το πακέτο Cobra-cli δημιουργεί κώδικα boilerplate που μπορείτε να ρυθμίσετε ώστε να προσθέτετε νέες εντολές στην εφαρμογή σας χωρίς προβλήματα.
Εκτελέστε αυτήν την εντολή στο τερματικό του καταλόγου εργασίας σας για να εγκαταστήσετε την πιο πρόσφατη έκδοση του πακέτου Cobra-cli.
πηγαίνω εγκαταστήστε το github.com/spf13/cobra-cli@latest
Θα χρειαστεί να ρυθμίσετε τη μεταβλητή GOPATH στον κατάλογο εργασίας σας για να χρησιμοποιήσετε τη γεννήτρια Cobra (Cobra-cli) και άλλα εργαλεία γραμμής εντολών Go.
Μετά από μια επιτυχημένη εγκατάσταση, μπορείτε να αρχικοποιήσετε μια εφαρμογή Cobra στο έργο σας με το μέσα σε αυτό εντολή.
cobra-cli init
Μετά την προετοιμασία μιας εφαρμογής Cobra, μπορείτε να χρησιμοποιήσετε το Προσθήκη υποεντολή με το cobra-cli εντολή για δημιουργία και προσθήκη νέας εντολής στην εφαρμογή Cobra.
cobra-cli προσθήκη νέας εντολής
Η εντολή δημιουργεί ένα νέο αρχείο με τον κωδικό που χρειάζεστε για την εντολή. Μπορείτε να επεξεργαστείτε το αρχείο με βάση τη λειτουργία σας.
Ακολουθεί μια απλή λειτουργία χειρισμού εντολών για μια εντολή που δημιουργείται με την εντολή Cobra-cli.
εισαγωγή (
"fmt"
"github.com/spf13/cobra"
"κούτσουρο"
"strconv"
)// μια εντολή που δημιουργείται από κόμπρα
// newCmd αντιπροσωπεύει τη νέα εντολή
var newCmd = &κόμπρα. Εντολή {
Χρήση: "newCmd",
Short: "Η περιγραφή newCmd που καθορίζετε",
Μακρύς: «Μια μεγαλύτερη περιγραφή που εκτείνεται σε πολλές γραμμές και πιθανώς περιέχει παραδείγματα
και τη χρήση της χρήσης της εντολής σας. Για παράδειγμα:
Η Cobra είναι μια βιβλιοθήκη CLI Για Go που εξουσιοδοτεί τις εφαρμογές.
Αυτή η εφαρμογή είναι ένα εργαλείο για τη δημιουργία των απαραίτητων αρχείων
για να δημιουργήσετε γρήγορα μια εφαρμογή Cobra.`,Τρέξιμο: func(cmd *κόμπρα. Εντολή, args []σειρά) {
ανλεν(άργη) < 1 {
κούτσουρο. Fatal ("Χωρίς πρόσθετα επιχειρήματα")
}
επιχειρήματα := args[0]
fmt. Println (επιχειρήματα)
}
}funcμέσα σε αυτό() {
rootCmd. AddCommand (newCmd)// Εδώ θα ορίσετε τις σημαίες και τις ρυθμίσεις διαμόρφωσης.
// Η Cobra υποστηρίζει Persistent Flags που θα λειτουργήσουν για αυτήν την εντολή
// και όλες οι υποεντολές, π.χ.
// newCmd. PersistentFlags().String("foo", "", "A help for foo")
// Το Cobra υποστηρίζει τοπικές σημαίες που θα εκτελούνται μόνο όταν αυτή η εντολή
// καλείται απευθείας, π.χ.
// newCmd. Flags().BoolP("toggle", "t", false, "Help message for toggle")
}
Μπορείτε να αποκτήσετε πρόσβαση σε επιπλέον ορίσματα με το args όρισμα της συνάρτησης. Η παραπάνω συνάρτηση χρησιμοποιεί το αν δήλωση για να ελέγξει εάν υπάρχει ένα επιπλέον όρισμα από το τερματικό και εκτυπώνει το όρισμα.
Το πακέτο CLI
Το πακέτο Cli είναι ένα μινιμαλιστικό πακέτο με θέμα την εκφραστικότητα για τη δημιουργία γρήγορων εφαρμογών CLI με δυνατότητα διανομής στο Go.
Το πακέτο Cli υποστηρίζει ορίσματα γραμμής εντολών, σημαίες και υποεντολές με κατηγορίες. Έχει λειτουργικότητα για να καλύψει σύντομες επιλογές, Ολοκληρώσεις Bash, δημιούργησε βοήθεια και έκδοση εκδόσεων.
Το πακέτο Cli είναι διαλειτουργικό με το ενσωματωμένο Go σημαία και συμφραζόμενα πακέτα και μπορείτε να χρησιμοποιήσετε τις περισσότερες από τις δυνατότητες του σημαία πακέτο με το Cli.
Εκτελέστε αυτές τις εντολές στο τερματικό του καταλόγου εργασίας σας για να προσθέσετε το πακέτο Graphql-go και τις εξαρτήσεις του στο έργο σας.
πηγαίνω λάβετε το github.com/urfave/cli
Δείτε πώς μπορείτε να προσθέσετε μια εντολή στην εφαρμογή CLI με το πακέτο Cli.
πακέτο κύριος
εισαγωγή (
"fmt"
"κούτσουρο"
"os""github.com/urfave/cli/v2"
)funcκύριος() {
εφαρμογή := &cli. Εφαρμογή {
Ονομα: "νέος",
Χρήση: "φτιαχνω, κανω ένα νέος εντολή με το Cli πακέτο",
Δράση: func(*κλικ. Συμφραζόμενα)λάθος {
fmt. Println("Εδώ είναι ένα νέος εντολή")
ΕΠΙΣΤΡΟΦΗμηδέν
},
}
αν err := εφαρμογή. Εκτέλεση (os. Args); λάθος!= μηδέν {
κούτσουρο. Μοιραία (λάθος)
}
}
Στο κύριος λειτουργία, η εφαρμογή Η μεταβλητή είναι μια παρουσία μιας εφαρμογής Cli και της εφαρμογής Δράση Το πεδίο είναι η λειτουργία χειριστή της εφαρμογής. Εδώ, το νέος εντολή θα εκτυπώσει το κείμενο από τη συνάρτηση ή θα επιστρέψει ένα σφάλμα εάν υπάρχουν σφάλματα από την εφαρμογή.
Το πακέτο Cli είναι χρήσιμο για μικρότερα έργα χωρίς μεγάλη πολυπλοκότητα ή δυνατότητες.
Το πακέτο Go-Arg
Το πακέτο Go-arg είναι ένα πακέτο που βασίζεται σε struct για την ανάλυση ορισμάτων CLI στο Go. Με το πακέτο Go-arg, μπορείτε να δηλώσετε δομές για ορίσματα CLI και να λειτουργήσετε με τα ορίσματα ως κανονικές δομές δεδομένων Go. Το πακέτο Go-arg παρέχει απαιτούμενα ορίσματα, ορίσματα θέσης, μεταβλητές περιβάλλοντος, συμβολοσειρές χρήσης, προεπιλεγμένες τιμές και πολλές άλλες δυνατότητες.
Το πακέτο υποστηρίζει βασικούς τύπους όπως ακέραιος, κινητής υποδιαστολής, συμβολοσειρά και boolean. Υποστηρίζει επίσης πιο σύνθετους τύπους όπως διευθύνσεις URL, χρονική διάρκεια, διευθύνσεις email, διευθύνσεις MAC, δείκτες, φέτες, χάρτες και το όποιος τύπος.
Μπορείτε να χρησιμοποιήσετε το παίρνω εντολή για προσθήκη του πακέτου Go-arg στις εξαρτήσεις του πακέτου σας.
πηγαίνω λάβετε github.com/alexflint/πηγαίνω-arg
Το πακέτο Go-arg είναι απλό και διαισθητικό στη χρήση. Δείτε πώς μπορείτε να αποδεχτείτε ορίσματα από τη γραμμή εντολών και να τα εκτυπώσετε στην κονσόλα της γραμμής εντολών.
funcκύριος() {
var args struct {
Foo σειρά
Μπαρ bool
}
αργ. MustParse(&args)
fmt. Println (args. Foo, args. Μπαρ)
}
ο args Το struct είναι το παράδειγμα struct για την εφαρμογή CLI. ο MustParse μέθοδος αναλύει τα ορίσματα από τη γραμμή εντολών στην παρουσία της δομής.
Μπορείτε εύκολα να εκτελέσετε το πρόγραμμα με το τρέξιμο εντολή και καθορίστε τα ορίσματα μετά το όνομα του αρχείου.
πηγαίνω run main.πηγαίνω --foo=γεια --μπαρ
Μπορείτε επίσης να χρησιμοποιήσετε το χτίζω εντολή για τη δημιουργία της εφαρμογής σας σε εκτελέσιμο αρχείο πριν εκτελέσετε το εκτελέσιμο και καθορίσετε τα ορίσματα.
πηγαίνω κατασκευή κύριας.πηγαίνω
./main --foo=γεια --μπαρ
Υπάρχουν σημαντικές διαφορές μεταξύ GUI και CLI που θα πρέπει να λάβετε υπόψη
Κατά τη διάρκεια της ανάπτυξης, εάν πρέπει να επιλέξετε μεταξύ της δημιουργίας ενός CLI ή ενός GUI για τους χρήστες σας, θα πρέπει να λάβετε υπόψη πολλούς παράγοντες για να κάνετε μια επιλογή.
Η χρήση CLI μέσω GUI έχει ως αποτέλεσμα ταχύτερα προγράμματα, εύκολο αυτοματισμό και χαμηλότερη χρήση πόρων. Εάν κάποιο από αυτά τα πλεονεκτήματα δεν είναι ζωτικής σημασίας για την εφαρμογή σας, ίσως να είστε καλύτερα με ένα GUI, καθώς είναι πιο δημοφιλή στους γενικούς χρήστες.