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’hGo FAQ — Go or Golang?.

 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 2009Go FAQ — What is the history of the project?. 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ù liesgalonGo FAQ — What is the purpose of the project?.

Degaset e vez div zoare Go pep bloaz, unan e miz C’hwevrer hag unan e miz Eost abaoe Go 1.5Release history. Abaoe Go 1 e rank pep doare bezañ kendere war-grec’hGo 1 and the Future of Go Programs.

 Gopher 


Arouez Go eo ur razh-godell (gopher e saozneg) treset gant Renée FrenchThe Go Gopher — The Go Blog. 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ùhttps://golang.org/doc/faq#unicode_identifiers.

 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ùGo FAQ — Why do garbage collection? Won't it be too expensive?.

 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)Go FAQ — Types.

 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-raokA Tour of Go — Goroutines.

 Kanolioù 

Gant kanolioù e c’haser roadennoù a c’hell bezañ resevet gant prosesusoù allA Tour of Go — Channels. 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 GoGo FAQ —  What compiler technology is used to build the compilers?. Kompilerioù all zo: gccgo, diazezet war GCC; gollmv, diazezet war LLVM; TinyGoTinyGo, 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ù GoGo FAQ —  Can I stop these complaints about my unused variable/import?.

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 allOptional environment variables.

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ù allUsing Go Modules — The Go Blog. 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 programgofmt. 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ù unanelTesting. 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 godocGodoc: documenting Go code. 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.orggodoc.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 GoSontadeg Go 2018 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.comGo FAQ — Is Google using Go internally?. Kalz meziantoù all a zo skrivet e Go ivez, sed amañ un nebeud skouerioù:
 DockerDocker and Go: why did we decide to write Docker in Go?
 KubernetesWhat is Kubernetes?
 HugoWhat is Hugo

 Liammoù diavaez 

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

 Daveoù 

Rummad:Lavarioù programmiñ