Ce face import
import stă după package și înaintea restului codului. Primește calea pachetului între ghilimele: "fmt", "net/http" sau "github.com/autor/proiect/pachet". După import folosești elementele exportate cu prefixul pachetului (ultima parte a căii): http.Get, strings.ToUpper.
Un import nefolosit este eroare de compilare ("os" imported and not used). Editoarele cu goimports adaugă și șterg automat importurile. Poți da un alt nume pachetului (str "strings"), iar _ importă pachetul doar pentru funcțiile lui init (de exemplu drivere de baze de date). . importă numele direct, fără prefix, dar este descurajat.
Pachetele din alte module se adaugă în go.mod cu go get sau automat cu go mod tidy. Importurile circulare (A importă B, B importă A) nu sunt permise.
Exemple
Exemplul 1: Import grupat și alias
package main
import (
"fmt"
"math"
str "strings"
)
func main() {
fmt.Println(str.ToUpper("brașov"))
fmt.Printf("rădăcina lui 2: %.4f\n", math.Sqrt(2))
}
Rezultat
BRAȘOV
rădăcina lui 2: 1.4142
Exemplul 2: Pachete cu cale compusă
Prefixul este ultima parte a căii: utf8, rand.
package main
import (
"fmt"
"math/rand/v2"
"unicode/utf8"
)
func main() {
oras := "Timișoara"
fmt.Println("octeți:", len(oras), "litere:", utf8.RuneCountInString(oras))
r := rand.New(rand.NewPCG(1, 2)) // seed fix: același rezultat la fiecare rulare
fmt.Println("zar:", r.IntN(6)+1)
}
Rezultat
octeți: 10 litere: 9
zar: 5
Greșeli frecvente
- Import nefolosit:
"os" imported and not used. Șterge-l sau folosește_temporar. - Folosirea căii complete ca prefix (
math/rand.IntN): prefixul este doarrand. - Pachet extern importat fără să fie în
go.mod:no required module provides package .... Ruleazăgo getsaugo mod tidy.
Comenzi înrudite
package și pachetul main: Fiecare fișier Go începe cu package; pachetul main cu funcția main() devine un program executabil.module și pachete: Un pachet este un director cu fișiere .go; un modul (go.mod) este un proiect cu mai multe pachete și dependențele lor.go get: Adaugă, actualizează sau elimină dependențe în go.mod; descarcă modulele necesare.go mod tidy: Aduce go.mod și go.sum în acord cu importurile din cod: adaugă dependențele lipsă și le șterge pe cele nefolosite.vizibilitate (exportat/neexportat): Numele care încep cu literă mare sunt vizibile din alte pachete; cele cu literă mică rămân private pachetului.