Vissza a bloghoz

Go programok építése és telepítése

Go programok építése és telepítése

Go egy statikusan típusos programozási nyelv. A Google által eredetileg tervezett Go hasonlóságokat mutat a C nyelvvel a szintaxis tekintetében. Funkcionalitásában azonban a Go olyan további funkciókkal rendelkezik, mint a memóriabiztonság, a szemétgyűjtés (garbage collection), a strukturális típusosság stb. Az elmúlt néhány évben a Go hihetetlen népszerűségre tett szert.

Ez az útmutató végigvezeti Önt a Go programok fordításának és telepítésének lépésein egy bemutató Go program segítségével.

Go fordítás és telepítés

Mielőtt továbbmennénk, nézzük meg röviden, mit jelent a fordítás (building) és a telepítés (installing) a Go programozás kontextusában.

A Go programozásban a fordítás (building) a forráskód bináris futtatható fájllá történő lefordításának folyamatára utal. A futtatható fájl tartalmazni fogja a szükséges támogató kódokat, így önállóan futhat a célplatformon. Eltérően a Ruby/Python programoktól, a Go binárisok futtatásához általában nincs szükség semmilyen rendszerfüggőségre egy új rendszeren.

A Go bináris elhelyezését a rendszer egy futtatható fájlútvonalán a program telepítésének nevezzük. Mint korábban említettük, ez az útmutató egy egyszerű Go „Hello world” program futtatását, fordítását és telepítését mutatja be.

Előfeltételek

Kezdés előtt tekintsük át azokat az előfeltételeket, amelyeket teljesítenie kell az oktatóanyag követéséhez:

Először gyorsan áttekintjük a Go programozási környezet telepítését és konfigurálását. A részletesebb, lépésről lépésre történő Go telepítési útmutatóért kattintson ide.

A Go telepítése

A Go minden nagyobb platformon elérhető (Windows, Linux és macOS). Hivatalosan közvetlenül a Golang weboldalról érhető el. A weboldal neve miatt a Go-ra gyakran Golangként is hivatkoznak. Itt a Go programozási nyelvre mindig Go-ként, a Golang weboldalra pedig Golangként fogunk hivatkozni.

A Golang részletes dokumentációt kínál a Go telepítéséről az összes támogatott platformra vonatkozóan. A hivatalos módszer azonban a kézi telepítést írja le. Minden alkalommal, amikor új verzió jelenik meg, manuálisan kell frissítenie a telepítést a legújabb verzióra. Ehelyett közvetlenül is telepíthetjük a Go-t az APT segítségével (az alapértelmezett Ubuntu tárolókból) vagy snap használatával (a Snapcraft).

●     A Go telepítése APT használatával

A Go közvetlenül elérhető a hivatalos Ubuntu tárolókból. Azonban nem mindig ez a Go legújabb verziója. Az Ubuntu tárolóból a Go két változata is elérhető: golang-go és gccgo-go. Amíg a golang-go a hivatalos verzió a Golangtól, addig a gccgo-go a Go frontend a GCC-hez (a GNU fordító részeként). Általában a golang-go az előnyben részesített választás.

A golang-go telepítéséhez futtassa a következő APT parancsot:

Go Programs apt update and go install

Ellenőrizze a Go verzióját:

go version
●     A Go telepítése snap használatával

A snap-ek univerzális Linux-csomagok, amelyek bármely támogatott disztribúcióra telepíthetők. A Snapcraft felsorolja az összes támogatott disztribúciót a telepítési útmutatókkal együtt. On Ubuntu, snap support is enabled by default. Go is also available as a snap. You need to keep in mind that it’s not officially maintained by Golang. The snap package is managed by a third-party provider.

A Go snap telepítéséhez futtassa a következő parancsot:

snap install go

Ezután ellenőrizze a Go verzióját:

snap go version

Go projekt beállítása

Rendszerünk rendelkezik az összes szükséges eszközzel a Go-alkalmazások fejlesztésének megkezdéséhez. Ideje létrehozni a bemutató projektünket. Először hozzon létre egy külön könyvtárat a projektünk számára:

mkdir demo_project

Ezután váltson át az újonnan létrehozott könyvtárra:

cd demo_project

Itt hozzon létre egy új szöveges fájlt, amelynek neve main.go:

A következő kód egy egyszerű programot tartalmaz, amely futtatáskor a „Hello world” szöveget írja ki. Másolja ki a kódot:

Go Programs nano main_go

Mentse el a fájlt, és zárja be a szerkesztőt. Ellenőrizze, hogy a kód megfelelően működik-e:

run main_go

A Go fordító bináris fájllá fordította a forrásfájlt, majd végrehajtotta azt. Ez egyúttal azt is ellenőrzi, hogy a program sikeresen működik-e.

Go munkaterület konfigurálása

A Go programok megfelelő telepítéséhez konfigurálnunk kell a Go munkaterületet és a GOPATH-ot.

Először hozza létre a könyvtárszerkezetet:

mkdir bin src

Ezután deklarálnunk kell a következő értékét: GOPATH és hozzá kell adnunk a PATH változóhoz. Nyissa meg a bashrc fájlt:

Go Programs nano bashrc

Adja hozzá a következő sorokat a fájl végéhez:

Go Programs nano bashrc modified

Töltse be újra a bashrc:

Ellenőrizze, hogy a változtatás sikeres volt-e:

path variable

Go binárisok fordítása

Ez a szakasz bemutatja a Go kódok terjeszthető, önálló bináris fájllá történő fordítását. A bináris nemcsak a Go kódot fogja tartalmazni, hanem a futtatásához szükséges további rendszerkódokat is. A kódunk lefordításához futtassa a következő parancsot:

build main_go

Ha több Go kódfájl is létezik, használja a következő parancsot:

Ha nincs megadva fájl, a Go megkeresi a Go fájlokat az aktuális könyvtárban, és mindegyiket lefordítja. Minden bináris fájl a forrás Go fájljáról kapja a nevét. Ebben a példában a Go felépítette a main programot. Futtassa a programot:

run main binary

Ez a program készen áll a más számítógépekre történő terjesztésre.

●     A bináris név megváltoztatása

A fordítás során a Go automatikusan kiválaszt egy nevet a futtatható fájl számára. Két lehetőség van a név kiválasztásakor.

  • If Go modulok használatban vannak, akkor a futtatható fájl a modul nevének utolsó részét fogja használni.
  • Ha nem használ Go modult, akkor a Go az aktuális könyvtár nevét vagy a forrásfájl nevét fogja használni.

Az összetettebb programokkal való munka más elnevezési konvenciót igényel. Ilyen esetekben ezek az alapértelmezett elnevezési módszerek nem túl hasznosak. Ilyen helyzetben a legjobb megoldás a kimenet testreszabása a -o jelzővel. Lássunk egy gyors bemutatót. Építse fel a Go programot a -o jelzővel egy másik fájlnév kijelöléséhez:

build binary with different name

A -o jelző arra utasítja a Go-t, hogy a kimenetet a megadott argumentumhoz igazítsa. Ebben az esetben a futtatható fájl a bin könyvtárban lesz, és a neve hello.

Ezután tesztelje az új futtatható fájlt:

bin hello_go

Go programok telepítése

Eddig bemutattuk a terjeszthető Go binárisok forrásfájlokból történő felépítését. Terjeszthetjük őket más rendszereken, telepíthetjük és teszteket végezhetünk. Azonban nem futtathatók a forráskönyvtárukon kívül. Ha aktívan tervezi használni a programot, akkor ez a korlátozás nagyon bosszantó lehet. A dolgok megkönnyítése érdekében telepíthetjük a Go programokat, és a rendszerben bárhonnan elérhetjük őket.

A program telepítéséhez futtassa a következő Go parancsot a forráskönyvtárban:

go install

Ez a parancs ugyanúgy működik, mint a go build. Azonban ahelyett, hogy a futtatható fájlt a forráskönyvtárban hagyná, a következő könyvtárba helyezi:

A GOPATH és GOBIN változók megmondják a Go-nak, hogy hol keresse a Go munkaterületeket. A GOPATH alapértelmezett helye a $HOME/go. Manuálisan beállítottuk a GOBIN értékét a $GOPATH/bin. A GOPATH és a GOBIN helyének ellenőrzéséhez használja a következő parancsot:

go env path

Ellenőrizze a $GOPATH/bin tartalmát. A programunknak ott kell lennie:

ls go path

Ideje ellenőrizni, hogy a telepítés sikeres volt-e. Váltson át az aktuális könyvtárból egy másik helyre, és próbálja meg futtatni a Go programot:

Go Programs check installation by running binary

Végül képesnek kell lennie arra, hogy fogja a programjait, és telepítse azokat a rendszerébe. Bárhonnan és bármikor használhatja őket, amikor csak szüksége van rájuk.

Záró gondolatok

Ebben az útmutatóban sikeresen bemutattuk, hogyan használhatja a Go eszközkészleteket futtatható binárisok forráskódból történő létrehozására. Ezek a binárisok más rendszereken is használhatók, akár Go konfiguráció nélkül is. Végül bemutattuk, hogyan telepítheti a Go programot, hogy az a rendszerben bárhonnan elérhető legyen.

A fejlesztők számára a CloudSigma Go API-támogatást kínál a felhőszerverek kezeléséhez. Lehetővé teszi az erőforrások szerkesztését és az infrastruktúra skálázását.

Kellemes számítástechnikát!

author

Pranay Kapgate

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.