Go je statički tipiziran programski jezik. Izvorno dizajniran od strane Googlea, Go dijeli sličnosti s C u pogledu sintakse. Međutim, u pogledu funkcionalnosti, Go dolazi s dodatnim značajkama kao što su sigurnost memorije, sakupljanje smeća, strukturno tipiziranje itd. Tijekom posljednjih nekoliko godina, Go je stekao nevjerojatnu popularnost.
Ovaj vodič će proći kroz korake izgradnje i instalacije Go programa uz pomoć demo Go programa.
Izgradnja i instalacija Go-a
Prije nego što krenemo dalje, ukratko ćemo objasniti što izgradnja i instalacija znače u kontekstu Go programiranja.
U Go programiranju, izgradnja se odnosi na proces prevođenja izvornog koda u binarnu izvršnu datoteku. Izvršna datoteka sadržavat će potrebne potporne kodove kako bi mogla raditi neovisno na ciljnoj platformi. Za razliku od Ruby/Python programa, Go binarne datoteke općenito ne zahtijevaju nikakve sistemske ovisnosti za rad na novom sustavu.
Postavljanje Go binarne datoteke u putanju izvršne datoteke na sustavu naziva se instaliranjem programa. Kao što je ranije spomenuto, ovaj vodič će demonstrirati pokretanje, izgradnju i instalaciju jednostavnog Go „Hello world” programa.
Preduvjeti
Prije početka, prođimo kroz preduvjete koje ćete morati ispuniti kako biste pratili ovaj vodič:
- Ispravno konfiguriran Ubuntu 20.04. Pogledajte kako instalirati i konfigurirati Ubuntu poslužitelj.
- Korisnik koji nije root sa sudo privilegijama. Root dopuštenje je potrebno za izvođenje promjena na razini sustava. Iz ovog vodiča možete naučiti kako dodijeliti sudo dopuštenje ne-root korisniku.
- Ispravno konfigurirano Go programsko okruženje.
Prvo ćemo brzo proći kroz instalaciju i konfiguraciju Go programskog okruženja. Za detaljniji korak-po-korak vodič o instalaciji Go-a pogledajte ovdje.
Instalacija Go-a
Go je dostupan na svim glavnim platformama (Windows, Linux i macOS). Službeno je dostupan izravno s Golang. Zbog naziva web stranice, Go se često naziva Golang. Ovdje ćemo se uvijek referirati na programski jezik Go kao Go, a na web stranicu Golang kao Golang.
Golang nudi detaljnu dokumentaciju o Go instalaciji za sve podržane platforme. Međutim, službena metoda opisuje ručnu instalaciju. Svaki put kada se objavi nova verzija, morate ručno ažurirati instalaciju na najnoviju verziju. Umjesto toga, možemo izravno instalirati Go pomoću APT-a (iz zadane Ubuntu riznice) ili snap-a (iz Snapcraft).
● Instalacija Go-a pomoću APT-a
Go je izravno dostupan iz službenih Ubuntu riznica. Međutim, to nije uvijek najnovija verzija Go-a. Također su dostupne dvije varijante Go-a iz Ubuntu riznice: golang-go i gccgo-go. Dok je golang-go službena verzija s Golanga, gccgo-go je Go sučelje za GCC (kao dio GNU prevoditelja). Općenito, golang-go je preferirani izbor.
Za instalaciju golang-go, pokrenite sljedeću APT naredbu:
|
1 |
sudo apt update && sudo apt install golang-go |

Provjerite verziju Go-a:
|
1 |
go version |
● Instalacija Go-a pomoću snap-a
Snapovi su univerzalni Linux paketi koji se mogu instalirati na bilo koju podržanu distribuciju. Snapcraft navodi sve podržane distribucije s vodičima za instalaciju. Na Ubuntuu je podrška za snap omogućena prema zadanim postavkama. Go je također dostupan kao snap. Morate imati na umu da ga Golang službeno ne održava. Snap paketom upravlja treća strana.
Za instalaciju Go snap-a, pokrenite sljedeću naredbu:
|
1 |
sudo snap install go --classic |

Zatim provjerite verziju Go-a:
|
1 |
go version |
Postavljanje Go projekta
Naš sustav ima sve potrebne alate za početak razvoja aplikacija u Go-u. Vrijeme je da uspostavimo naš demo projekt. Prvo stvorite namjensku mapu za naš projekt:
|
1 |
mkdir -v demo_project |

Zatim promijenite trenutni direktorij u novostvoreni direktorij:
|
1 |
cd demo_project/ |

Ovdje stvorite novu tekstualnu datoteku pod nazivom main.go:
|
1 |
nano main.go |
Sljedeći kod prikazuje jednostavan program koji će ispisati „Hello world” kada se pokrene. Kopirajte kod:
|
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Println("hello world!") } |

Spremite datoteku i zatvorite uređivač. Provjerite radi li kôd ispravno:
|
1 |
go run main.go |

Go prevoditelj je izgradio izvornu datoteku u binarnu datoteku i izvršio je. Također potvrđuje da program uspješno radi.
Konfiguracija Go radnog prostora
Kako bismo ispravno instalirali Go programe, moramo konfigurirati Go radni prostor i GOPATH.
Prvo kreirajte strukturu direktorija:
|
1 |
mkdir -pv $HOME/go/{bin,src} |

Zatim moramo deklarirati vrijednost GOPATH i dodati je u PATH. Otvorite bashrc datoteku:
|
1 |
nano ~/.bashrc |

Dodajte sljedeće retke na kraj datoteke:
|
1 2 3 |
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin |

Ponovno učitajte bashrc:
|
1 |
source ~/.bashrc |
Provjerite je li promjena bila uspješna:
|
1 |
echo $PATH |
Izgradnja Go binarnih datoteka
Ovaj odjeljak će prikazati prevođenje Go koda u distribuiranu samostalnu binarnu datoteku. Binarna datoteka sadržavat će ne samo Go kôd već i dodatni sistemski kôd za pokretanje binarne datoteke. Za prevođenje našeg koda pokrenite sljedeću naredbu:
|
1 |
go build main.go |

Ako postoji više datoteka s Go kodom, upotrijebite sljedeću naredbu:
|
1 |
go build |
Ako nije navedena nijedna datoteka, Go će potražiti Go datoteke u trenutnom direktoriju i sve ih prevesti. Svaka binarna datoteka dobiva naziv po svojoj izvornoj Go datoteci. U ovom primjeru, Go je izgradio program main. Pokrenite program:
|
1 |
./main |

Ovaj program je spreman za distribuciju na druga računala.
● Promjena naziva binarne datoteke
Prilikom izgradnje, Go će automatski odabrati naziv za izvršnu datoteku. Postoje dvije mogućnosti kada je u pitanju odabir naziva.
- Ako se koriste Go moduli, tada će izvršna datoteka koristiti zadnji dio naziva modula.
- Ako se ne koristi nijedan Go modul, Go će koristiti naziv trenutnog direktorija ili naziv izvorne datoteke.
Rad sa složenijim programima zahtijeva drugačiju konvenciju imenovanja. U takvim scenarijima ove zadane metode imenovanja nisu vrlo korisne. U takvoj situaciji najbolji način je prilagoditi izlaz pomoću zastavice -o. Pogledajmo brzu demonstraciju. Izgradite Go program sa zastavicom -o kako biste odredili drugačiji naziv datoteke:
|
1 |
go build -o bin/hello |

Zastavica -o govori Go-u da uskladi izlaz s danim argumentom. U ovom slučaju, izvršna datoteka nalazit će se u direktoriju bin i zvat će se hello.
Zatim testirajte novu izvršnu datoteku:
|
1 |
./bin/hello |
Instalacija Go programa
Do sada smo prikazali izgradnju distribuiranih Go binarnih datoteka iz izvornih datoteka. Možemo ih distribuirati na druge sustave, implementirati i provoditi testove. Međutim, ne mogu se izvršavati izvan svojih izvornih direktorija. Ako planirate aktivno koristiti program, ovo ograničenje može biti vrlo naporno. Kako bismo olakšali stvari, možemo instalirati Go programe i pristupati im s bilo kojeg mjesta u sustavu.
Za instalaciju programa pokrenite sljedeću Go naredbu u izvornom direktoriju:
|
1 |
go install |

Ova se naredba ponaša isto kao i go build. Međutim, umjesto ostavljanja izvršne datoteke u izvornom direktoriju, ona se smješta u sljedeći direktorij:
|
1 |
$GOPATH/bin |
Varijable GOPATH i GOBIN govore Go-u gdje treba tražiti Go radne prostore. GOPATH zadano je lokacija $HOME/go. Ručno smo postavili GOBIN na $GOPATH/bin. Za provjeru lokacije GOPATH i GOBIN upotrijebite sljedeću naredbu:
|
1 |
go env GOPATH |
|
1 |
go env GOBIN |

Provjerite sadržaj $GOPATH/bin. Naš bi program trebao biti tamo:
|
1 |
ls $GOPATH/bin |

Vrijeme je za provjeru je li instalacija bila uspješna. Promijenite trenutni direktorij na drugu lokaciju i pokušajte pokrenuti Go program:
|
1 |
demo_project |

Naposljetku, trebali biste moći uzeti svoje programe i instalirati ih u svoj sustav. Možete ih koristiti odakle god i kad god vam zatrebaju.
Završne misli
U ovom vodiču uspješno smo prikazali kako koristiti Go skupove alata za izgradnju izvršnih binarnih datoteka iz izvornog koda. Ove se binarne datoteke mogu koristiti na drugim sustavima čak i bez ikakve Go konfiguracije. Naposljetku, prikazali smo kako instalirati Go program da bude dostupan s bilo kojeg mjesta u sustavu.
Za razvojne programere, CloudSigma nudi podršku za Go API za upravljanje vašim poslužiteljima u oblaku. Omogućuje uređivanje resursa i skaliranje infrastrukture.
Sretno računanje!




Komentari
Još nema komentara. Budite prvi.