Wat krijg je als je Python en C mixt? Volgens Google is het Go - een nieuwe programmeertaal die intern is ontwikkeld en later open source is. Go is gemaakt door een klein team binnen Google, waaronder de bekende Ken Thompson, mede-uitvinder van Unix en grote invloed op C. Het is ontstaan ​​uit een gebrek aan tevredenheid over bestaande talen, voornamelijk overmatig (in de hoofden van Go's) ontwikkelaars) lange compile-tijden nodig voor andere talen. Met Go kan zelfs een zeer grote en complexe applicatie binnen enkele seconden worden gecompileerd, vaak minder. Daarnaast heeft Go ingebouwde concurrency-ondersteuning ingebouwd, zodat je voor meerdere CPU's kunt coderen zonder gebruik te maken van externe bibliotheken van onbekende kwaliteit. Hoewel we hier meestal niet veel over programmeren doen op MakeTechEasier, is Go zo'n interessante taal dat we even een stapje verder moesten doen, en waar we beter konden beginnen dan door de systeemconfiguratie af te leggen die nodig was om Go op je Linux te krijgen. doos.

Opmerking: deze handleiding behandelt de stappen die nodig zijn om de Go-compiler in Linux te laten werken. Het zal niet ingaan op het schrijven van programma's voor Go, maar als er interesse van de lezer is, zouden we zeker een dergelijke tutorial kunnen maken.

Snel overzicht

Go is een gecompileerde taal zoals C of C ++, niet geïnterpreteerd als Python. Dit betekent natuurlijk dat je alles moet doen wat je nodig hebt om een ​​Go-compiler te maken. Aangezien Go alleen officieel beschikbaar is in bronvorm, betekent dit dat we de Go-compiler met gcc moeten compileren. Als alles klaar is, heb je twee Go-compilers beschikbaar, 6g en 8g. Het enige verschil tussen beide is dat 6g 64-bits binaire bestanden maakt en 8g 32-bits. Als je eenmaal weet welke compiler je wilt, codeer dan en compileer voor Go zoals je zou doen voor gcc.

Er zijn technisch andere compileropties, maar 6g en 8g zijn de officiële compilers en worden uitsluitend in deze handleiding gebruikt.

Update: een PPA is nu beschikbaar voor Google Go. Om te installeren, open je een terminal en typ je:

 sudo add-apt-repository ppa: gophers / go sudo apt-get update sudo apt-get install golang 

Het systeem voorbereiden

Er zijn een paar snelle eenvoudige dingen die we moeten doen om onze omgeving voorbereid te krijgen. Ten eerste vereist Go dat een paar omgevingsvariabelen in de shell worden ingesteld, zodat deze weet waar ze bestanden moeten vinden en plaatsen. Je zou alle volgende commando's direct in de terminal kunnen typen, maar aangezien sommigen misschien later nodig zijn, zullen we ze allemaal in ons .bashrc- bestand plaatsen.

Open uw ~ / .bashrc-bestand en voer aan het eind de volgende regels in:

 #Deze regel vertelt het Go-installatieprogramma waar de broncode moet worden geplaatst voordat de compilatie wordt geëxporteerd GOROOT = $ HOME / gosource #Met deze regel kiest u de architectuur van uw machine. #Those met 64 bit CPU's zou hier "amd64" moeten invoeren. exporteren GOARCH = 386 #Uw besturingssysteem export GOOS = linux # En nu de locatie waar het installatieprogramma de voltooide bestanden zal plaatsen # Vergeet niet om deze map aan te maken voordat u exporteert GOBIN = $ HOME / gobin #Include Go binaries in command path PATH exporteren = $ PATH: $ GOBIN 

Vervolgens op het opdrachtregeltype

 source ~ / .bashrc 

om ervoor te zorgen dat het bestand wordt gelezen en die omgevingsvariabelen worden gemaakt.

Installatie afhankelijkheden installeren

We hebben een C-compiler (zoals gcc) nodig, samen met een aantal andere hulpprogramma's om de Go-compilers (6g en 8g) te maken. Voer bij de opdrachtprompt de volgende opdrachten uit om alle benodigde build-afhankelijkheden te installeren.

 #Als je normaal aptitude gebruikt in plaats van apt-get, gebruik dat dan ook hier sudo apt-get install bison gcc libc6-dev ed gawk make python-setuptools python-dev build-essential sudo easy_install mercurial 

De broncode van Go ophalen en compileren

Nu we alles hebben wat we nodig hebben om Go te installeren, zijn we klaar om de code zelf te krijgen. Om de bestanden op te halen, voert u de volgende opdracht in:

 hg clone -r release https://go.googlecode.com/hg/ $ GOROOT 

Uw uitvoer moet ongeveer overeenkomen met het volgende:

En nu zijn we klaar om te compileren. Ga naar een bruikbare taal. Voer om te beginnen het volgende in uw terminal in:

 cd $ GOROOT / src ./all.bash 

Houd er rekening mee dat dit deel gcc Go compileert, dus dit heeft niet de snelheidsvoordelen die zijn gekoppeld aan het schrijven en het samenstellen van de werkelijke Go-code en zal waarschijnlijk een paar minuten duren.

Als je een bericht ontvangt over $ GOBIN, zorg er dan voor dat je je herinnert om de map te maken die je in je .bashrc- bestand hebt gezet. Vergelijk voor andere fouten ook de variabelen die u in uw .bashrc- bestand hebt geplaatst.

Test uw installatie

Sla het volgende op in een bestand met de naam test.go

 pakket main import "fmt" func main () {fmt.Printf ("Hallo, ga! \ n")} 

Nu op de opdrachtregel ...

 #Deze commando's zijn voor 32-bit builds #Vervang de "8" met "6" in alle voorbeelden om te bouwen voor 64. #Compile ... 8g test.go #Link 8l test.8 #Einde run .. ./8 .uit 

Als alles goed is gegaan, zou je zoiets als dit moeten zien:

En je bent klaar om te beginnen met coderen!