Go este unul dintre limbajele de programare moderne care câștigă acțiune în multe sondaje, deoarece dezvoltatorii au preferat. Go are o sintaxă ușor de utilizat și de înțeles, oferind în același timp performanțe de top.
Puteți folosi Go pentru a crea diverse aplicații, de la aplicații web la aplicații de linie de comandă, servicii cloud și rețele. Ecosistemul Go de pachete terțe acceptă multe alte cazuri de utilizare.
Go are cele mai multe dintre funcțiile la care te-ai aștepta într-o limbă modernă: generice, concurență, inferență de tip, colectare de gunoi și multe altele.
Noțiuni introductive cu Go
Puteți rula Go pe majoritatea sistemelor de operare. Îndreptați-vă spre pagina de instalare și descărcați o versiune Go preferată pentru sistemul dvs. de operare.
După ce ați descărcat și instalat Go, puteți începeți să scrieți și să rulați codul Go în fișiere cu a .merge extensia de fișier.
Veți descoperi că Go are cele mai multe dintre caracteristicile și multe dintre funcționalitățile altor limbaje de programare. Dacă aveți experiență anterioară în programare, ar trebui să găsiți Go simplu.
Variabile în Go
Go este destul de expresiv la nivel fundamental. Există două moduri în care puteți declara variabile în Go. Puteți folosi var cuvânt cheie pentru a declara variabile de diferite tipuri de date. După ce specificați identificatorul, va trebui să setați tipul de date al variabilei.
var A şir
var b int
var c orice
var vârstă şir = „în vârstă de cinci ani”
var varsta = 5// echivalent cu var age int = 5
fmt. Println (vârsta)
Poți să folosești orice ca tip de date dacă nu sunteți sigur de tipul de date al variabilei.
De asemenea, puteți declara constante cu ajutorul const cuvânt cheie într-un mod similar cu declararea variabilelor.
const varsta = "cinci ani"
Este imposibil să se modifice constantele după declararea lor.
Go oferă o modalitate alternativă de a declara variabile în funcții. Rețineți că folosiți două puncte înaintea semnului egal:
funcprincipal() {
varsta := "cinci ani" // echivalent cu var age = "cinci ani"
}
Condiționale în Go
Go are și condiții pentru luarea deciziilor în programe. Puteți folosi dacă și altfel declarații din codul dvs. pentru a gestiona decizii.
Iată un exemplu dacă declarație care compară două numere întregi pentru egalitate:
var A int = 12
dacă a == 12 {
fmt. Println ("a este egal cu doisprezece")
}
Poți folosi doar altfel afirmatii dupa precizarea unui dacă declarație și trebuie să specificați altfel bloc după închidere dacă bloc:
var A int = 12
dacă a == 12 {
fmt. Println ("a este egal cu doisprezece")
} altfel {
fmt. Println("a nu este egal cu doisprezece")
}
The altfel blocul rulează numai atunci când dacă afirmația este evaluată ca falsă. Go nu oferă declarații else-if, dar puteți folosi intrerupator enunţuri pentru enunţuri condiţionale complexe.
Iată anatomia unui intrerupator declarație în Go.
varsta := 7
intrerupator varsta {
caz1:
fmt. Println(„unu”)
caz2:
fmt. Println(„două”)
caz3:
fmt. Println(„trei”)
Mod implicit:
fmt. Println(„zero”)
}
Puteți crea instrucțiuni switch cu intrerupator cuvânt cheie, după care puteți specifica diferite cazuri cu caz cuvânt cheie. Puteți gestiona cazul implicit folosind a Mod implicit cuvânt cheie.
Pentru bucle în Go
Go oferă bucle for pentru sarcini repetitive și, spre deosebire de majoritatea limbilor, nu există bucle while sau do-while în Go.
Puteți folosi popularul for-loop în stil C sau gamă for-loop pe care o suportă anumite structuri de date.
Iată un exemplu de utilizare a buclei for în stil C într-un program Go:
funcimprimanta() {
pentru eu := 0; eu <= 3; i++ {
fmt. Println (i)
}
}
Puteți utiliza intervalul încorporat pentru buclă Go pe structuri de date compuse, cum ar fi felii, hărți și matrice. The gamă funcția returnează indexul și elementul indexului pe măsură ce traversează structura de date.
pentru index, valoare := gamă structură de date {
}
Matrice în Go
Matricele sunt unul dintre tipurile de date compuse din Go. Matricele Go sunt similare cu matricele în stil C și au o lungime definită la declarare și instanțiere.
Iată cum puteți declara matrice în Go:
var arr [5]şir
arr := [7]int{0, 1, 2, 3, 4, 5, 6}
Puteți utiliza indexarea pentru a accesa, aloca și actualiza elemente dintr-o poziție a matricei:
arr[3] = „trei”
Codul de mai sus actualizează sau inserează șirul ca a patra intrare a arr variabilă matrice.
Felii în Go
Go oferă slice-uri ca alternativă la matrice pentru tratarea datelor de lungime nedefinită. Feliile sunt similare cu matricele, cu excepția faptului că puteți modifica lungimea feliilor.
Va trebui să utilizați sistemul încorporat face funcția de a crea o felie. Introduceți tipul de date ale feliei și lungimea inițială la funcția make.
felie := face([]şir, 9)
felie[2] = „două”
Puteți folosi funcția de adăugare pentru a insera elemente în felii. În mod implicit, adăuga funcția inserează elemente la sfârșitul feliei.
felie = adăuga(felie, „zece”)
Operațiunile de adăugare pe felii pot fi costisitoare, deoarece Go creează o nouă matrice pentru fiecare operație de adăugare.
Hărți în Go
Hărțile sunt tipul de date asociativ încorporat (pereche cheie-valoare) în Go. Puteți folosi face pentru a crea o hartă sau o simplă declarație în care va trebui să instanțiați harta.
harti := face(Hartă[şir]int) // folosind funcția make
harti := Hartă[şir]int{"unu": 1, "Două": 2, "Trei": 3} // declararea și instanțierea unei hărți
Puteți accesa valorile dintr-o hartă specificând cheile. De asemenea, puteți insera valori într-o hartă specificând o pereche cheie-valoare.
hărți[„una”] = 1// inserarea în hartă
una := hărți["una"] // accesarea elementului de pe hartă
Puteți folosi șterge funcția de eliminare a perechilor cheie-valoare din hărți. The șterge funcția preia identificatorul hărții și cheia perechii pe care doriți să o eliminați:
șterge(hărți, „una”)
Funcții în Go
Funcțiile sunt instrumentul pentru reutilizarea codului în Go. Puteți declara funcții cu func cuvânt cheie urmat de identificatorul funcției:
funcprincipal() {
}
Funcțiile pot accepta argumente și pot returna valori. Va trebui să specificați tipul de argument alături de identificatorul pentru argumente.
funcadăuga(X şir, y int)int {
întoarcere x + y
}
Veți specifica tipul de returnare înainte de blocul de cod al funcției și veți returna o valoare de tipul specificat pentru funcțiile care returnează valori.
Structuri în Go
Go nu este un limbaj orientat pe obiecte prin design, dar puteți implementa caracteristici orientate pe obiect în Go folosind structuri.
Structurile sunt tipuri definite de utilizator pentru gruparea altor tipuri de date într-o singură entitate. Structurile Go pot deține valori ale oricăror tipuri acceptate de Go, iar funcțiile pot implementa structuri.
Iată cum puteți declara o structură în Go:
tip Joc struct {
Nume şir
An int
Timp de joaca float64
Jucători oricare
Țări Hartă[şir]şir
}
The Joc struct are câmpuri cu tipuri de hartă, șir, întreg și virgulă mobilă. Puteți instanția structuri cu valori implicite sau le puteți atribui valori.
var Joc mko // instanțierea valorii implicite
// instanțierea cu valori
mko := Joc{
Nume: „Valoare”,
An: 1231,
Timp de joaca: 1345412,
Jucători: [2]şir{"9", "chestie"},
date: Hartă[şir]int{"unu": 1, "Două": 2, "Trei": 2},
}
Funcțiile pot implementa și accesa tipuri de structuri. Va trebui să specificați parametrul struct înainte de identificatorul funcției.
func(g joc)Gaseste joc(Nume şir) {
a := g. An // accesarea câmpurilor struct
var b = g. Țări // accesarea câmpurilor struct
}
Când treceți un struct unei funcții, funcția are acces la câmpurile structurii, iar funcția devine o metodă struct.
Go are multe cazuri de utilizare
Ați învățat elementele de bază ale limbajului de programare Go și sintaxa pentru a începe să scrieți programe Go.
Există multe domenii și aplicații în care puteți utiliza Go. Go este folosit în mod popular ca limbaj pe partea de server și puteți explora oricând construirea de aplicații bazate pe web cu ajutorul acestuia.