Site Overlay

Primul tău program

În mod tradițional, primul program pe care îl scrii în orice limbaj de programare se numește „Hello World” – un program care afișează pur și simplu Hello World pe terminalul tău. Haideți să scriem unul folosind Go.

În primul rând, creați un folder nou în care să putem stoca programul nostru. Creați un folder numit ~/src/golang-book/chapter2. (Unde ~ înseamnă directorul dvs. personal) Din terminal puteți face acest lucru introducând următoarele comenzi:

mkdir src/golang-bookmkdir src/golang-book/chapter2

Folosind editorul de text introduceți următoarele:

package mainimport "fmt"// this is a commentfunc main() { fmt.Println("Hello World")}

Asigurați-vă că fișierul dvs. este identic cu cel prezentat aici și salvați-l ca main.go în folderul pe care tocmai l-am creat. Deschideți un nou terminal și tastați următoarele:

cd src/golang-book/chapter2go run main.go

Ar trebui să vedeți Hello World afișat în terminal. Comanda go run preia fișierele următoare (separate prin spații), le compilează într-un executabil salvat într-un director temporar și apoi rulează programul. Dacă nu ați văzut Hello World afișată, este posibil să fi făcut o greșeală când ați tastat programul. Compilatorul Go vă va da indicii cu privire la locul unde se află greșeala. La fel ca majoritatea compilatoarelor, compilatorul Go este extrem de pedant și nu are toleranță pentru greșeli.

Cum se citește un program Go

Să analizăm acest program mai în detaliu. Programele Go se citesc de sus în jos, de la stânga la dreapta. (ca o carte) Prima linie spune așa:

package main

Acest lucru este cunoscut ca o „declarație de pachet”. Fiecare program Go trebuie să înceapă cu o declarație de pachet. Pachetele sunt modul în care Go organizează și reutilizează codul. Există două tipuri de programe Go: executabile și biblioteci. Aplicațiile executabile sunt tipurile de programe pe care le putem rula direct din terminal. (în Windows se termină cu .exe) Bibliotecile sunt colecții de cod pe care le împachetăm împreună pentru a le putea folosi în alte programe. Vom explora bibliotecile mai în detaliu mai târziu, deocamdată asigurați-vă doar că includeți această linie în orice program pe care îl scrieți.

Linia următoare este o linie goală. Computerele reprezintă liniile noi cu un caracter special (sau mai multe caractere). Liniile noi, spațiile și tabulatoarele sunt cunoscute ca spații albe (pentru că nu le puteți vedea). În cea mai mare parte, Go nu se preocupă de spațiul alb, noi îl folosim pentru a face programele mai ușor de citit. (Ați putea elimina această linie și programul s-ar comporta exact în același mod)

Apoi vedem acest lucru:

import "fmt"

Cuvântul cheie import este modul în care includem cod din alte pachete pentru a-l folosi cu programul nostru. Pachetul fmt (prescurtare pentru format) implementează formatarea pentru intrare și ieșire. Având în vedere ceea ce tocmai am învățat despre pachete, ce credeți că ar trebui să conțină fișierele pachetului fmt în partea de sus a acestora?

Observați că fmt de mai sus este înconjurat de ghilimele duble. Utilizarea ghilimelelor duble de acest fel este cunoscută sub numele de „string literal”, care este un tip de „expresie”. În Go, șirurile de caractere reprezintă o secvență de caractere (litere, numere, simboluri, …) de o lungime definită. Șirurile de caractere sunt descrise mai detaliat în capitolul următor, dar, deocamdată, ceea ce este important de reținut este că un caracter de deschidere " trebuie să fie urmat în cele din urmă de un alt caracter ", iar tot ceea ce se află între cele două este inclus în șir. (Caracterul " în sine nu face parte din șir)

Linia care începe cu // este cunoscută ca fiind un comentariu. Comentariile sunt ignorate de compilatorul Go și sunt acolo de dragul dumneavoastră (sau al celui care preia codul sursă al programului dumneavoastră). Go acceptă două stiluri diferite de comentarii: comentariile // în care tot textul dintre // și sfârșitul liniei face parte din comentariu și comentariile /* */ în care tot ceea ce se află între *s face parte din comentariu. (Și poate include mai multe rânduri)

După aceasta vedeți o declarație de funcție:

func main() { fmt.Println("Hello World")}

Funcțiile sunt elementele de bază ale unui program Go. Ele au intrări, ieșiri și o serie de pași numiți declarații care sunt executate în ordine. Toate funcțiile încep cu cuvântul cheie func urmat de numele funcției (main în acest caz), o listă de zero sau mai mulți „parametri” înconjurați de paranteze, un tip de retur opțional și un „corp” care este înconjurat de paranteze curbe. Această funcție nu are parametri, nu returnează nimic și are doar o singură instrucțiune. Numele main este special pentru că este funcția care este apelată atunci când executați programul.

Piesa finală a programului nostru este această linie:

 fmt.Println("Hello World")

Acest enunț este format din trei componente. Mai întâi accesăm o altă funcție din interiorul pachetului fmt numită Println (aceasta este piesa fmt.Println, Println înseamnă Print Line). Apoi creăm un nou șir de caractere care conține Hello World și invocăm (cunoscut și sub numele de call sau execute) acea funcție cu șirul de caractere ca prim și unic argument.

În acest punct am văzut deja o mulțime de terminologie nouă și s-ar putea să fiți puțin copleșit. Uneori este util să vă citiți în mod deliberat programul cu voce tare. O citire a programului pe care tocmai l-am scris ar putea suna astfel:

Crearea unui nou program executabil, care face referire la biblioteca fmt și conține o funcție numită main. Această funcție nu primește argumente, nu returnează nimic și face următoarele: Accesează funcția Println conținută în interiorul pachetului fmt și o invocă folosind un singur argument – șirul de caractere Hello World.

Funcția Println face adevărata muncă în acest program. Puteți afla mai multe despre ea tastând următoarele în terminalul dumneavoastră:

godoc fmt Println

Printre altele, ar trebui să vedeți următoarele:

Println formats using the default formats for its operands and writes to standard output. Spaces are always added between operands and a newline is appended. It returns the number of bytes written and any write error encountered.

Go este un limbaj de programare foarte bine documentat, dar această documentație poate fi dificil de înțeles dacă nu sunteți deja familiarizat cu limbajele de programare. Cu toate acestea, comanda godoc este extrem de utilă și este un bun punct de plecare ori de câte ori aveți o întrebare.

Înapoi la funcția în cauză, această documentație vă spune că funcția Println va trimite tot ceea ce îi dați la ieșirea standard – un nume pentru ieșirea terminalului în care lucrați. Această funcție este cea care face ca Hello World să fie afișată.

În capitolul următor vom explora modul în care Go stochează și reprezintă lucruri precum Hello World, învățând despre tipuri.

Probleme

  • Ce este spațiul alb?

  • Ce este un comentariu? Care sunt cele două moduri de a scrie un comentariu?

  • Programul nostru a început cu package main. Cu ce ar trebui să înceapă fișierele din pachetul fmt?

  • Am folosit funcția Println definită în pachetul fmt. Dacă am dori să folosim funcția Exit din pachetul os ce ar trebui să facem?

  • Modificați programul pe care l-am scris astfel încât în loc să se tipărească Hello World să se tipărească Hello, my name is urmat de numele dumneavoastră.

← Previous Index

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.