Επιστροφή στο blog

Δημιουργία και Εγκατάσταση Προγραμμάτων Go

Δημιουργία και Εγκατάσταση Προγραμμάτων Go

Go είναι μια γλώσσα προγραμματισμού στατικού τύπου. Αρχικά σχεδιασμένη από την Google, η Go μοιράζεται ομοιότητες με τη C όσον αφορά τη σύνταξη. Ωστόσο, όσον αφορά τη λειτουργικότητα, η Go διαθέτει πρόσθετα χαρακτηριστικά όπως ασφάλεια μνήμης, εκκαθάριση μνήμης (garbage collection), δομική πληκτρολόγηση (structural typing) κ.λπ. Τα τελευταία χρόνια, η Go κερδίζει απίστευτη δημοτικότητα.

Αυτός ο οδηγός θα παρουσιάσει τα βήματα δημιουργίας (building) και εγκατάστασης προγραμμάτων Go με τη βοήθεια ενός δοκιμαστικού προγράμματος Go.

Δημιουργία και Εγκατάσταση Go

Πριν προχωρήσουμε περαιτέρω, ας δούμε εν συντομία τι σημαίνει η δημιουργία (building) και η εγκατάσταση στο πλαίσιο του προγραμματισμού Go.

Στον προγραμματισμό Go, η δημιουργία (building) αναφέρεται στη διαδικασία μετάφρασης του πηγαίου κώδικα σε ένα δυαδικό εκτελέσιμο αρχείο. Το εκτελέσιμο θα περιέχει τον απαραίτητο υποστηρικτικό κώδικα ώστε να μπορεί να εκτελείται ανεξάρτητα στην πλατφόρμα-στόχο. Σε αντίθεση με τα προγράμματα Ruby/Python, τα δυαδικά αρχεία της Go γενικά δεν απαιτούν εξαρτήσεις συστήματος για να εκτελεστούν σε ένα νέο σύστημα.

Η τοποθέτηση του δυαδικού αρχείου Go σε μια διαδρομή εκτελέσιμων αρχείων στο σύστημα αναφέρεται ως εγκατάσταση του προγράμματος. Όπως αναφέρθηκε προηγουμένως, αυτός ο οδηγός θα δείξει την εκτέλεση, τη δημιουργία και την εγκατάσταση ενός απλού προγράμματος Go “Hello world”.

Προαπαιτούμενα

Πριν ξεκινήσετε, ας δούμε τα προαπαιτούμενα που θα πρέπει να πληροίτε για να παρακολουθήσετε το σεμινάριο:

Αρχικά, θα δούμε γρήγορα την εγκατάσταση και τη ρύθμιση του περιβάλλοντος προγραμματισμού Go. Για έναν πιο λεπτομερή, βήμα προς βήμα οδηγό σχετικά με την εγκατάσταση της Go, δείτε εδώ.

Εγκατάσταση της Go

Η Go είναι διαθέσιμη σε όλες τις κύριες πλατφόρμες (Windows, Linux και macOS). Είναι επίσημα διαθέσιμη απευθείας από το Golang. Λόγω του ονόματος του ιστότοπου, η Go αναφέρεται συχνά ως Golang. Εδώ, θα αναφερόμαστε πάντα στη γλώσσα προγραμματισμού Go ως Go και στον ιστότοπο Golang ως Golang.

Το Golang προσφέρει λεπτομερή τεκμηρίωση σχετικά με την εγκατάσταση της Go για όλες τις υποστηριζόμενες πλατφόρμες. Ωστόσο, η επίσημη μέθοδος περιγράφει χειροκίνητη εγκατάσταση. Κάθε φορά που κυκλοφορεί μια νέα έκδοση, πρέπει να ενημερώνετε χειροκίνητα την εγκατάσταση στην πιο πρόσφατη έκδοση. Αντ' αυτού, μπορούμε να εγκαταστήσουμε απευθείας την Go χρησιμοποιώντας το APT (από τα προεπιλεγμένα αποθετήρια του Ubuntu) ή το snap (από το Snapcraft).

●     Εγκατάσταση της Go με χρήση APT

Η Go είναι άμεσα διαθέσιμη από τα επίσημα αποθετήρια του Ubuntu. Ωστόσο, δεν είναι πάντα η πιο πρόσφατη έκδοση της Go. Υπάρχουν επίσης δύο παραλλαγές της Go διαθέσιμες από το αποθετήριο του Ubuntu: golang-go και gccgo-go. Ενώ η golang-go είναι η επίσημη έκδοση από το Golang, η gccgo-go είναι το Go frontend για το GCC (ως μέρος του μεταγλωττιστή GNU). Γενικά, η golang-go είναι η προτιμώμενη επιλογή.

Για να εγκαταστήσετε την golang-go, εκτελέστε την ακόλουθη εντολή APT:

Go Programs apt update and go install

Ελέγξτε την έκδοση της Go:

go version
●     Εγκατάσταση της Go με χρήση snap

Τα Snaps είναι καθολικά πακέτα Linux που μπορούν να εγκατασταθούν σε οποιαδήποτε υποστηριζόμενη διανομή. Το Snapcraft παραθέτει όλες τις υποστηριζόμενες διανομές με οδηγούς εγκατάστασης. Στο Ubuntu, η υποστήριξη snap είναι ενεργοποιημένη από προεπιλογή. Η Go είναι επίσης διαθέσιμη ως snap. Πρέπει να έχετε κατά νου ότι δεν συντηρείται επίσημα από το Golang. Το πακέτο snap διαχειρίζεται από έναν τρίτο πάροχο.

Για να εγκαταστήσετε το snap της Go, εκτελέστε την ακόλουθη εντολή:

snap install go

Στη συνέχεια, ελέγξτε την έκδοση της Go:

snap go version

Ρύθμιση ενός έργου Go

Το σύστημά μας διαθέτει όλα τα απαραίτητα εργαλεία για να ξεκινήσει η ανάπτυξη εφαρμογών σε Go. Ώρα να δημιουργήσουμε το δοκιμαστικό μας έργο. Αρχικά, δημιουργήστε έναν αποκλειστικό κατάλογο για το έργο μας:

mkdir demo_project

Στη συνέχεια, αλλάξτε τον τρέχοντα κατάλογο στον νεοδημιουργηθέντα κατάλογο:

cd demo_project

Εδώ, δημιουργήστε ένα νέο αρχείο κειμένου με όνομα main.go:

Ο ακόλουθος κώδικας περιλαμβάνει ένα απλό πρόγραμμα που θα εκτυπώσει το “Hello world” όταν εκτελεστεί. Αντιγράψτε τον κώδικα:

Go Programs nano main_go

Save the file and close the editor. Verify that the code is functioning properly:

run main_go

The Go compiler built the source file into a binary file and executed it. It also verifies that the program is functioning successfully.

Go Workspace Configuration

In order to properly install Go programs, we need to configure Go workspace and GOPATH.

First, create the directory structure:

mkdir bin src

Next, we need to declare the value of GOPATH and add it to PATH. Open the bashrc file:

Go Programs nano bashrc

Add the following lines at the end of the file:

Go Programs nano bashrc modified

Reload bashrc:

Verify if the change was successful:

path variable

Building Go Binaries

This section will demonstrate compiling Go codes into a distributable standalone binary file. The binary will contain not only the Go code but also additional system codes to run the binary. To compile our code, run the following command:

build main_go

If there are multiple Go code files, then use the following command:

If no file is specified, Go will search for Go files in the current directory and compile all of them. Each binary file is named after its source Go file. In this example, Go built the program main. Run the program:

run main binary

This program is ready to be distributed to other computers.

●     Changing binary name

Whenever building, Go will automatically select a name for the executable file. There are two possible options when it comes to choosing the name.

  • If Go modules are used, then the executable will use the last part of the module’s name.
  • If no Go module is used, then Go will use the name of the current directory or the source file’s name.

Working with more complex programs requires a different naming convention. In such scenarios, these default naming methods aren’t very useful. In such a situation, the best way is to customize the output using the flag -o. Let’s have a quick demonstration. Build the Go program with the flag -o to designate a different filename:

build binary with different name

The -o flag tells Go to match the output with the given argument. In this case, the executable will be located under the directory bin and be named hello.

Next, test the new executable file:

bin hello_go

Installing Go Programs

So far, we’ve demonstrated building distributable Go binaries from source files. We can distribute them on other systems, deploy and perform tests. However, they can’t be executed outside of their source directories. If you’re planning to actively use the program, then this constraint can be very annoying. To make things easier, we can install the Go programs and access them from anywhere throughout the system.

To install the program, run the following Go command at the source directory:

go install

This command behaves the same way as go build. However, instead of leaving the executable file in the source directory, it’s placed into the following directory:

The variables GOPATH and GOBIN tell Go where to look for Go workspaces. GOPATH default is the location $HOME/go. We manually set GOBIN to $GOPATH/bin. To check the location of GOPATH and GOBIN use the following command:

go env path

Check the content of $GOPATH/bin. Our program should be there:

ls go path

Time to verify if the installation was successful. Change the current directory to a different location and try to run the Go program:

Go Programs check installation by running binary

Τέλος, θα πρέπει να είστε σε θέση να πάρετε τα προγράμματά σας και να τα εγκαταστήσετε στο σύστημά σας. Μπορείτε να τα χρησιμοποιήσετε από οπουδήποτε και οποτεδήποτε τα χρειαστείτε.

Τελικές Σκέψεις

Σε αυτόν τον οδηγό, δείξαμε με επιτυχία πώς να χρησιμοποιήσετε τα Go toolchains για να δημιουργήσετε εκτελέσιμα δυαδικά αρχεία από πηγαίο κώδικα. Αυτά τα δυαδικά αρχεία μπορούν να χρησιμοποιηθούν σε άλλα συστήματα ακόμη και χωρίς καμία ρύθμιση της Go. Τέλος, δείξαμε πώς να εγκαταστήσετε το πρόγραμμα Go ώστε να είναι διαθέσιμο από παντού στο σύστημα.

Για τους προγραμματιστές, η CloudSigma προσφέρει υποστήριξη Go API για τη διαχείριση των cloud servers σας. Επιτρέπει την επεξεργασία πόρων και την κλιμάκωση της υποδομής.

Καλό computing!

author

Pranay Kapgate

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.