Felmerült, hogy Go nyelven fejlesszek. Ezért tanulmányozni kezdtem a nyelvet.

Amit feltétlenül tudni érdemes a Go nyelvről, hogy szigorúan típusos, procedurális, fordított nyelv. Sajátos tömör szintaktikával rendelkezik. Az előálló futtatható állomány környezet specifikus és "önjáró". Vagyis a Windows környezetben készült eredmény egy exe és minden függő modul ebben van benne.
Valamikor a pályafutásom elején sokat használtam a Clipper nyelvet. Mily érdekes a hasonlóság. Mennyire szerettem volna ha a Clipper típusos.

A webes keresésekkor ajánlatos a Go helyett Golang kifejezéssel keresni.

Alábbi megállapításaim a még nem kellő mélységű ismereteimen, de gyakorlati megfigyeléseimen alapulnak.

 A Go alapegysége a modul. Én ezt szeretném projektként értelmezni, hogy be tudjam illeszteni eddigi ismereteimbe.
A modul alapértelmezetten a felhasználói mappában "lakik" a saját mappájában. De ez nem kötelező. A Go workspace tetszőleges helyen lehet, csak a `GOPATH` környezeti változónak oda kell mutatni. Amennyire meg tudom állapítani, a mappa nevének a modul nevét kell viselnie. A modul mappájának van ajánlott szerkezete, bene ajánlott almappákkal. Az eddig látott példákban ennek használatát nem tatasztalom. A gyakorlat szerint a csomagoknak (package) van saját almappája.

A modul mappájában meg kell hogy legyen a `go.mod` állomány, amelyet az inicializáló parancs hoz létre. Szokásos még a `main.go` állomány ami a belépési pontot tartalmazza. Tapasztalatom szerint az állomány neve nem kötelező, de kötelezően a `main` csomagban kell legyen és definiálnia kell a `main` funkciót.

Fejlesztői környezetből nem látszik nagy választék. A Go oldalán a Jet Brains féle InteliJ változat, a Visual Studio Code (VSCode) és kissé meglepő módon a Vim található. A webes példákban gyakran a VSCode-t használják.
Mivel nálam a VSCode telepítve van és ha nem is túl gyakran, de használom. Ezt választottam.

Maga a Go "eltűri", hogy egy gyűjtő (workspace) mappában több, a fenti szerinti, modul (projekt) mappa legyen. Viszont a VSCode nem szereti ha a workspace mappában több `go.mod` állományt tartalmazó almappa van. Nem találja meg a másik package-ben található funkciókat és más hasonló "nyűgjei" vannak.
Szerencsére az 1.18 verziótól lehetőség van a `go work` használatára.
A workspace mappában állva kell a parancsokat kiadni. Először inicializálni kell a szolgáltatást a `go work init` paranccsal. Ezt követően lehet `go work use [folder-name]` paranccsal hozzáadni a projekteket. A folyamat eredménye képen létrejön a `go.work` állomány benne a projektek felsorolásával.
Ettől a VSCode már megtalál mindent.

 

 

A bejegyzés trackback címe:

https://pharsan.blog.hu/api/trackback/id/tr6118024490

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása