A Go népszerűsége az évek során nőtt. Egyre több vállalat alkalmazza a Go-t, és a fejlesztők köre egyre bővül, ahogy egyre több felhasználási eset jelenik meg a nyelven. Az emberek a gyors webalkalmazásoktól a blokklánc-megoldásokig és a gépi tanulási eszközökig terjedő programok készítésére használják.
A fejlesztők szeretik a Go-t kifejezőképessége, könnyű kezelhetősége és kiváló nyelvi teljesítménye miatt. A Go gyorsabb tanulási görbével rendelkezik, mint a legtöbb nyelv, a csomagok és könyvtárak gyorsan növekvő ökoszisztémájával.
A Go használatának első lépései
A Go programozási nyelv nincs előre telepítve Windowsra, macOS-re vagy a legtöbb Linux disztribúcióra. A Go programok futtatásához telepítenie kell a Go alkalmazást. Ellenőrizheti a tisztviselőt Menj a letöltésekhez oldalon, hogy telepítse a gépére. Telepítenie kell a Go legújabb verzióját, hogy a legtöbbet hozhassa ki a nyelvből azóta az újabb verziók több funkcióval rendelkeznek és frissítések.
A Go telepítése után dolgozhat a nyelvvel, futtathat Go fájlokat, hozhat létre munkaterületeket és építhet projekteket a Go-ban.
Létrehozhat egy Go fájlt és futtathat Go programokat a szabványos könyvtár használatával. Ha azonban külső könyvtárakat szeretne használni, létre kell hoznia egy Go modules fájlt a függőségek kezeléséhez, a verziókövetéshez és egyebekhez.
A Go Modules fájl
A Go programban a modul csomagok gyűjteménye egy fájlfában, amelyben a go.mod fájl a gyökérben. Ez a fájl határozza meg a modul elérési útját, az importálási útvonalat és a függőségi követelményeket a sikeres összeállítási folyamathoz.
A Go-val létrehozhat egy Go modules fájlt mod parancs és a benne alparancsot, mielőtt megadná a projekt elérési útját vagy könyvtárát.
megy mod init projekt-könyvtár
A parancs létrehozza a go.mod fájlt. Az érvelés az után benne parancs a modul elérési útja. A modul elérési útja lehet a gazdagép környezetben lévő fájl elérési útja vagy a lerakattartomány elérési útja.
Külső csomagok és függőségek telepítésekor a go frissíti a igényelnek nyilatkozat a go.mod fájlt, hogy biztosan szerepeljenek benne.
Használhatja a takaros alparancsa a mod parancsot a programhoz szükséges összes függőség letöltéséhez.
megy mod takaros
A parancs letölti az összes hiányzó importot a go modules fájlba.
A Go Package névtér
Minden Go-forrásfájl egy csomaghoz tartozik, és a csomag névterében lévő kódhoz az azonosítójával férhet hozzá.
Több névteret is használhat a csomagokhoz. A mappa létrehozása után új névteret hozott létre. Más névtereket pont (.) jelöléssel érhet el.
// 1. mappa
csomag mappát
funcMappa()Bármi {
// itt valami funkciótest
Visszatérés0;
}
Íme egy példa egy másik névtér elérésére egy másik névtérből.
// 2. mappa, fájl más névtérben
csomag Könyvtár
funcKönyvtár() {
// a Mappa funkció elérése a mappa névteréből
folderFunc := mappa. Mappa()
}
muszáj lesz exportálja az azonosítót a név nagybetűs írásával egy külső névtérben lévő azonosító eléréséhez.
A fő funkció
Az fő- funkció belépési pontként szolgál a Go programok számára. A fő funkció nélkül nem hajthat végre Go fájlt vagy csomagot. Lehet kapni a fő- függvény bármely névtérben; azonban csak egynek kell lennie fő- funkciót egy fájlban vagy csomagban.
Íme egy egyszerű Hello World Program demonstrálni a fő- funkció:
csomag fő-
import "fmt"
funcfő- {
fmt. Println ("Helló, világ!")
}
Ez a kód deklarálja a fő- funkció a fő- csomag névterét. Ezután importálja a fmt csomagot és használja a Println metódus egy karakterlánc konzolra történő kiadására.
Csomagok importálása a Go-ban
Sok más nyelvhez képest a csomagok és függőségek importálása egyszerű. Az import kulcsszó csomagok importálására szolgál. Csomagokat importálhat a szabványos könyvtárból és a külső függőségekből a import kulcsszó.
import "fmt"
A fenti példában egy csomagot importál. Több csomagot is importálhat. A csomagokat a következő zárójelben kell megadnia import nyilatkozat.
import (
"fmt" // fmt nyomtatáshoz
"napló" // naplózás a naplózáshoz
"net/http" // http webalkalmazásokhoz
"kódolás/json" // json a struktúrák szerializálásához és deszerializálásához JSON-ba
)
A határolók hozzáadása az importálási nyilatkozatokhoz érvénytelen. Egyéni nevet deklarálhat az importáláshoz, ha megadja az egyéni nevet a csomagnév előtt.
import (
"net/http"
kódoló "encoding/json" // alias importálás ide
)
Itt importáltad a json csomag egyedi névvel mint kódoló. A csomag funkcióit és típusait az egyéni névvel (kódolóval) kell elérnie.
Egyes csomagokhoz más csomagok importálása szükséges a mellékhatások miatt. A csomagnév elé aláhúzást kell írni.
import (
_ "fmt" // mellékhatások import
"napló"
)
A mellékhatások miatt importált csomagokhoz nem férhet hozzá, de a függőségekhez igen, ha beállítja őket.
Menj fuss vs. Irány az Építés
Használni fogod a fuss és épít parancsokat a Go kód lefordításához és végrehajtásához. Hasonló funkciókkal rendelkeznek, és csomagok végrehajtására fogja használni őket.
Az fuss A parancs fordítási és végrehajtási utasítások kombinációja. Az fuss parancs végrehajtja a csomagot anélkül, hogy futtatható fájlokat hozna létre a munkakönyvtárban. A csomagnév után meg kell adnia a fájl nevét fuss parancs.
megy fájl futtatása.megy// végrehajt egy fájlt
megy csomagnév futtatása // végrehajtja a csomagot
Az épít A parancs egy olyan fordítási parancs, amely egy csomagot vagy fájlt bináris futtatható fájllá fordít.
Ha futtatja a épít parancsot argumentumok nélkül a fájl vagy csomag neve után, a go futtatható fájlt generál a csomag gyökérkönyvtárában.
megy építeni fő.megy// összeállít egy fájlt
megy épít "csomag név" // összeállít egy csomagot
A programot újra kell fordítania a épít parancsot, amikor módosít egy csomagot.
Megadhat egy könyvtárat argumentumként, és a épít parancs kiadja a végrehajtható fájlt a megadott könyvtárban.
megy build fájl -o "könyvtár"
Annyi mindent megtehetsz a Go-val
A Go standard könyvtára erőteljes és intuitív. Gyorsan készíthet modern alkalmazásokat anélkül, hogy bármilyen külső függőséget telepítene.
A Go 2009-es kiadása óta a fejlesztők és a vállalatok különféle felhasználási esetekben, számos területen használták. Sikere elsősorban annak köszönhető, hogy a Go Python-szerű szintaxist biztosít a C-szerű teljesítmény mellett.