Mont d’an endalc’had

Go (lavar programmiñ)

Eus Wikipedia

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.

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

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[2]. 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[3].

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

Gopher, arouez Go.

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

Anvioù disklaeriet

[kemmañ | kemmañ ar vammenn]

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

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ù[8].

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)[9].

Dastumadoù ha for range

[kemmañ | kemmañ ar vammenn]

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 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[10].

Gant kanolioù e c’haser roadennoù a c’hell bezañ resevet gant prosesusoù all[11]. 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

[kemmañ | kemmañ ar vammenn]

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!")
}

Abaoe doare 1.5 eo kompiler ofisiel Go skrivet e Go[12]. Kompilerioù all zo: gccgo, diazezet war GCC; gollmv, diazezet war LLVM; TinyGo[13], 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[14].

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[15].

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ù[16].

Abaoe Go 1.11 e c’heller sevel tammoù kod, anvet modules (lodennoù), da vezañ implijet e programmoù all[17]. 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.

Gant gofmt e c’heller feurmatañ ur restr Go, da lavarout eo, lakaat anezhi en ur stumm standard hep cheñch ster ar program[18]. 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

[kemmañ | kemmañ ar vammenn]

E touesk ar binvioù standard e kaver go test, a bourchas pep tra evit ober testoù unanel[19]. 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ù.

Gallout a reer skrivañ notennoù ispisial e kod ar program, da vezañ tretet gant godoc[20]. 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[21].

Endroioù diorren evit Go

[kemmañ | kemmañ ar vammenn]

Daoust ma n’eus endro diorren ofisiel ebet, meur a hini a zo implijet gant kalz programmerien. Hervez sontadeg ar skipailh Go[22] 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

[kemmañ | kemmañ ar vammenn]

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

Liammoù diavaez

[kemmañ | kemmañ ar vammenn]
  1. Go FAQ — Go or Golang?
  2. 2,0 ha2,1 Go FAQ — What is the history of the project?
  3. Go FAQ — What is the purpose of the project?
  4. Release history
  5. Go 1 and the Future of Go Programs
  6. The Go Gopher — The Go Blog
  7. https://golang.org/doc/faq#unicode_identifiers
  8. Go FAQ — Why do garbage collection? Won't it be too expensive?
  9. Go FAQ — Types
  10. A Tour of Go — Goroutines
  11. A Tour of Go — Channels
  12. Go FAQ — What compiler technology is used to build the compilers?
  13. TinyGo
  14. Go FAQ — Can I stop these complaints about my unused variable/import?
  15. Optional environment variables
  16. (en) All Systems Are Go: An Interview with Rob Pike, the Co-developer of Google's Go Programming Language.
  17. Using Go Modules — The Go Blog
  18. gofmt
  19. Testing
  20. Godoc: documenting Go code
  21. godoc.org
  22. Sontadeg Go 2018
  23. Go FAQ — Is Google using Go internally?
  24. Docker and Go: why did we decide to write Docker in Go?
  25. What is Kubernetes?
  26. What is Hugo
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy