Struktura bazike e një Go programi

Programet përbëhen nga:

  • Fjalët kyçe (keywords),
  • Konstantat (constants),
  • Variablat (variables),
  • Operatorët (operators),
  • Tipet (types), dhe
  • Funksionet (functions).

Go i përket gjuhëve programore case-sensitive, pra është ka rëndësi nëse shkronjat janë të mëdha (uppercase) apo të vogla (lowercase).

Emërtimet e variablave fillojnë patjetër me shkronjë, ku si shkronjë konsiderohet cilido Unicode UTF-8 karakter. Në vazhdim të shkronjës së parë mund të përdorim shkronja të tjera apo numra.

Shenja _ e shënuar si e vetme ka kuptim të veçantë dhe quhet blank identifier. Përdoret në rastet kur ndonjë nga vlerat kthyese të funksionit nuk dëshirojmë t’i ruajmë si vlerë në ndonjë variabël, respektivisht kur dëshirojmë ta injorojmë një vlerë kthyese të funksionit.

Ka raste kur variablat, tipet dhe funksionet nuk kanë nevojë fare të kenë emra dhe këto quhen anonime (anonymous).

Në vijim janë të shënuara 25 fjalët kyçe (keywords) të Go:

  • break
  • case
  • chan
  • const
  • continue
  • default
  • defer
  • else
  • fallthrough
  • for
  • func
  • go
  • goto
  • if
  • import
  • interface
  • map
  • package
  • range
  • return
  • select
  • struct
  • switch
  • type
  • var

Një fjalë kyçe nuk mund të përdoret si identifikator.

Përveç fjalëve kyçe, Go ka dhe 36 identifikatorë të paradefinuar, të cilët paraqesin emrat tipeve elementare dhe të funksioneve interne (built-in).

  • append
  • bool
  • byte
  • cap
  • close
  • complex
  • complex64
  • complex128
  • uint16
  • copy
  • false
  • float32
  • float64
  • imag
  • int
  • int8
  • int16
  • uint32
  • int32
  • int64
  • iota
  • len
  • make
  • new
  • nil
  • panic
  • uint64
  • print
  • println
  • real
  • recover
  • string
  • true
  • uint
  • uint8
  • uintptr

Delimiterët

Në Go përdoren delimiterët vijues:

  • Kllapat (parentheses) ( ),
  • Kllapat e mesme (brackets) [ ]
  • Kllapat e mëdha (braces) { }.

Shenjat e pikësimit Si shenja të pikësimit përdoren:

  • .
  • ,
  • ;

Strukturimi i kodit

Kodi strukturohet në formë të formulimeve (statements). Formulimet nuk është e domosdoshme të përfundojnë me pikëpresje (;) si në disa gjuhë të tjera, sepse kompajeli i Go e bën futjen automatike të pikëpresjes në fund të çdo formulimi. Në rastet kur i vendosim disa formulime në të njëjtin rresht, atëherë formulimet patjetër duhet të ndahen me pikëpresje.

Struktura bazike dhe komponentet e një Go programi

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello, playground")
}

Struktura e përgjithshme e një programi në Go

  • Bëhet importimi i pakove
  • Pas importimit, deklarohen konstantat, variablat dhe tipet
  • Pastaj vie funksioni init() nëse është i nevojshëm dhe ky është një funksion special që e përmban çdo pako dhe që ekzekutohet i pari.
  • Më pas vie funksioni main() dhe atë vetëm në kuadër të pakos main.
  • Pastaj renditen të gjitha funksionet tjera. Metodat ndaj tipeve në fillim ose funksionet me atë renditje si thirren brenda funksionit main(), ose metodat dhe funksionet të renditura sipas alfabetit nëse numri i funksioneve është i madh.

Pakot

Me anë të pakove bëhet strukturimi i kodit. Programi ndërtohet si pako që mund t’i pakot tjetra për funksione të caktuara.

Çdo Go fajll i përket një pakoje, analogjikisht me bibliotekat apo namespace në gjuhët tjera.
Shumë Go fajlla të ndryshëm mund t’i përkasin një pakoje.

Emri i pakos shënohet të rreshtin e parë të programit, për shembull: package main.

Fajlli i pavarur ekzekutabil i përket pakos main. Çdo Go aplikacion përmban një pako të quajtu main.

Një aplikacion mund të përbëhet nga pako të ndryshme, por edhe në rastet kur përdoret pakoja main, nuk është e domosdoshme që i tërë kodi të vendoset brenda një fajlli të madh. Mund të krijohen disa fajlla të vegjël, ku secili duhet ta ketë package main në rreshtin e parë.

Tahir Hoxha