Go (lavar programmiñ)
Go zo ul lavar programmiñ savet gant ijinourien Google. Simpl eo, gant nebeud a c’herioù miret, ha lakaat a ra aes an implij eus coroutines, anvet goroutines e Go, isprogrammoù a c’hell labourat e memes tro ma’z eus meur a vikroprosesor, pe un hini liesgalon, en urzhiataer.

War-dro Go

Anv 

Anv al lavar a zo Go. Pa ne c’heller ket ober gant ar ger go e vez implijet golang en e lec’h.

Istor 

Kroget o deus Robert Griesemer, Rob Pike ha Ken Thompson krouiñ Go e miz Gwengolo 2007, ha deuet eo Ian Taylor ha Russ Cox da labourat ganto e 2008. Roet eo bet da c’houzout d’an holl e miz Du 2009. O fal a oa sevel ul lavar programmiñ nevez, simploc’h evit ar re a oa implijet peurliesañ er mare-se (C, C++, Java…), hag e vije aes ganti ober gant mikroprosesorioù liesgalon.

Degaset e vez div zoare Go pep bloaz, unan e miz C’hwevrer hag unan e miz Eost abaoe Go 1.5. Abaoe Go 1 e rank pep doare bezañ kendere war-grec’h.

Gopher 

Arouez Go eo ur razh-godell (gopher e saozneg) treset gant Renée French. Graet e vez implijerien Go gophers ivez.

Al lavar

Anvioù disklaeriet 

Gallout a reer reiñ anvioù da bep tra gant arouezioù Unicode, da lavarout eo, implijout lizherennoù evel ñ pe ù e anvioù ar variantennoù.

Memor 

Kempennet e vez ar memor gant ur skuber-dilerc’hoù, un isprogram a glask pep tamm memor a zo bet merket evel implijet met n’eo ket ken. Neuze, n’eo ket ar programmer a rank diverkañ an tammoù memor pa n’eus ket ezhomm anezho ken, pezh a gemer kalz amzer d’ar brogrammerien hag a zo kaoz kalz fazioù e programmoù skrivet e lavarioù ha na reont ket gant ur skuber-dilerc'hoù.

Tiperezh 

Strizh eo reolennoù tipañ Go. Rankout a ra pep variantenn bezañ disklêriet gant e zip, ha ne vez ket treuztipet ar variantennoù nemet pa vez goulennet gant ar programmer. Daoust m’eo Go ul lavar programmiñ reteret objed, n’eus klasoù ebet, e kontrol da lavarioù evel C++ pe Java, met gallout a reer stagañ metodoù ouzh pep tip. Gallout a reer krouiñ etrefasioù, met ne zisklêrier ket o implij (n’eus ger miret par da implements ebet).

Dastumadoù ha for range 

Tipoù ispicial zo e Go evit ober gant dastumadoù: tailhennoù (slices) ha tablennoù asosiativel (maps). Un dailhenn eo un daolenn a c’hell kreskiñ hep harz nemet memor an urzhiataer, e kontrol d’an taolennoù e kaver e meur a lavar programmiñ all. Taolennoù normal zo e Go ivez, da vezañ implijet pa ouzer pet roadenn a vo enni.

Gant an daou seurt a dip-mañ e c’heller implijout an tro for range evit ober un dra bennak gant pep roadenn.

Da skouer, setu penaos krouiñ an dailhenn, lakaat an niverennoù etre 3 ha 6 enni, ha diskwel pep niverenn (gwelout er poull-traezh).

var niverennoù []int
for niverenn := 3; niverenn < 7; niverenn++ {
	niverennoù = append(niverennoù, niverenn)
}
for i, n := range niverennoù {
	fmt.Printf("%d: %d\n", i, n)
}

Goroutines 

Goroutines zo isprogrammoù a c’hell labourat e memes tro. Par int da neudelloù gwer, da lavarout eo, prosesusoù skañv krouet gant sikour ar reizhiad korvoiñ ha meret gant levraoueg peurgas Go. Lañset e vez ur goroutine evel ma c’halver ur fonksion, nemet gant ar ger miret go en a-raok.

Kanolioù 

Gant kanolioù e c’haser roadennoù a c’hell bezañ resevet gant prosesusoù all. Neuze e c’hell meur a c’horoutine treuzkas kannadoù kenetrezo en un doare aesoc’h evit an doareoù kavet el lodenn vrasañ eus al lavarioù programmiñ all.

Dematañ e Go 

Sed amañ ur program a lavar demat d’an holl e Go (gwelout anezhañ er poull-traezh):

package main

import (
	"fmt"
)

func main() {
	fmt.Println("Demat d’an holl!")
}

Binvioù

Kompiler 

Abaoe doare 1.5 eo kompiler ofisiel Go skrivet e Go. Kompilerioù all zo: gccgo, diazezet war GCC; gollmv, diazezet war LLVM; TinyGo, evit ar sistemoù emframmet.

Strizh-kenañ eo kompiler Go. Da skouer, disklêriañ ur variantenn hep implijout anezhi zo ur fazi a lak ar c’hompiler da nac’hañ kompilañ ar program. A-ratozh-kaer eo evit klask lakaat diaesoc’h ober fazioù e programmoù Go.

Gallout a ra ar c’hompiler ofisiel produiñ restroù binarel da beurgas evit meur a reizhiad korvoiñ: Linux, Windows, Darwin (kraoñell Mac OS X), FreeBSD ha reizhiadoù Unix all.

Unan eus palioù kentañ krouerien Go a oa sevel ur c’hompiler buan. Er mare-se e oa savet al lodenn vrasañ eus meziantoù Google e C++, met re hir e pade kompilañ ar mammennoù.

Lodennoù 

Abaoe Go 1.11 e c’heller sevel tammoù kod, anvet modules (lodennoù), da vezañ implijet e programmoù all. Disklaeriet e vez doare pep lodenn er restr go.mod, a c’hell bezañ produet gant ar c’hompiler. Pa vez kompilet ur program e vez pellkarget al lodennoù diwar ar genrouedad ma ’z eus ezhomm.

Furmader 

Gant gofmt e c’heller feurmatañ ur restr Go, da lavarout eo, lakaat anezhi en ur stumm standard hep cheñch ster ar program. A-drugarez d’e reolennoù strizh, e kontrol d’al lodenn vrasañ eus ar lavarioù programmiñ all, n’eus ket da dabutal diwar-benn stumm ar c’hod.

Testoù unanel 

E touesk ar binvioù standard e kaver go test, a bourchas pep tra evit ober testoù unanel. Gallout a ra go tost peurgas an holl testoù ha diskouez ar feur goloadurezh. Tu zo ivez ober bankoù test evit muzuliañ barregezh an isprogrammoù.

Teuliadur 

Gallout a reer skrivañ notennoù ispisial e kod ar program, da vezañ tretet gant godoc. Produiñ a ra godoc pajennoù HTML a c’heller lenn en ur merdeer. Implijet eo, da skouer, evit skrivañ teuliadur levraoueg standard Go hag ar servijer godoc.org.

Endroioù diorren evit Go 

Daoust ma n’eus endro diorren ofisiel ebet, meur a hini a zo implijet gant kalz programmerien. Hervez sontadeg ar skipailh Go e implij al lodenn brasañ anezho Visual Studio Code, heuliet gant Goland (diazezet war IntelliJ), Vim, Emacs, Sublime Text, Atom ha Visual Studio.

Meziantoù skrivet e Go 

Meur a veziant savet gant tud Google a zo skrivet e Go, da skouer servijer pellkargañ dl.google.com. Kalz meziantoù all a zo skrivet e Go ivez, sed amañ un nebeud skouerioù:
 Docker
 Kubernetes
 Hugo

Liammoù diavaez 

 Lec’hienn ofisiel
 Poull-traezh Go, e lec’h ma c’heller skrivañ programmoù war eeun en ur merdeer.

Daveoù 

Lavarioù programmiñ