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.

instagram viewer

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.