Ce este Go?
Go este un limbaj de programare open source, care funcționează pe mai multe platforme. Este cunoscut pentru simplitate și eficiență, iar asta îl face o alegere solidă pentru aplicațiile care au nevoie de performanță ridicată.
Este compilat și tipizat static, iar programele scrise în el rulează rapid.
Robert Griesemer, Rob Pike și Ken Thompson l-au creat la Google în 2007.
Dacă ai văzut cod în alte limbaje, unele părți din sintaxa Go îți vor părea probabil familiare.
La ce este folosit Go?
- Cod pe partea de server pentru site-uri și servicii web
- Programe care comunică prin rețea
- Aplicații enterprise care trebuie să ruleze pe mai multe platforme
- Software creat pentru cloud (dezvoltare cloud-native)
De ce să folosim Go?
- Este ușor de învățat și e plăcut să lucrezi cu el
- Programele se compilează și rulează rapid
- Suportul pentru concurență face parte din limbaj
- Memoria este gestionată în locul tău
- Funcționează pe multe platforme, inclusiv Windows, Mac, Linux și Raspberry Pi
Go comparat cu alte limbaje
Codul Go este compilat și tipizat static și este rapid atât la compilare, cât și la execuție. Goroutine-urile și channel-urile îți oferă concurență, iar un garbage collector eliberează automat memoria nefolosită. Clasele, obiectele și moștenirea nu fac parte din limbaj.
Multe limbaje fac alte compromisuri. Un limbaj interpretat și tipizat dinamic, de exemplu, poate rula lent și poate să nu aibă un mecanism de concurență încorporat, deși poate oferi totuși garbage collection automat, împreună cu clase, obiecte și moștenire.
Alte limbaje au în comun cu Go tipizarea statică și compilarea și rulează și ele rapid, dar compilarea lor poate dura mult. Ele pot gestiona concurența prin thread-uri și pot să nu aibă garbage collection automat, oferind în schimb clase, obiecte și moștenire.
Notă: Câțiva dintre acești termeni merită o scurtă explicație. Timpul de compilare este cât durează transformarea codului într-un program executabil. Concurența înseamnă executarea mai multor lucruri în același timp sau în afara ordinii, în timp ce rezultatul final rămâne același. Tipizat static înseamnă că tipul fiecărei variabile este cunoscut la momentul compilării.
Să începem
Nu ai nevoie de experiență în programare ca să urmezi acest tutorial. Începem cu elementele de bază ale limbajului Go și continuăm treptat de acolo.