Razumevanje minimalnega programa Go

Razumevanje minimalnega programa Go

Priljubljenost Goa se je z leti povečala. Več podjetij uporablja Go in skupina razvijalcev raste, ko se uvaja več primerov uporabe jezika. Ljudje ga uporabljajo za izdelavo programov, od hitrih spletnih aplikacij, rešitev blockchain do orodij za strojno učenje.





MAKEUSEOF VIDEO DNEVA

Razvijalci obožujejo Go zaradi njegove izraznosti, enostavne uporabe in visoke jezikovne zmogljivosti. Go ima hitrejšo krivuljo učenja kot večina jezikov s hitro rastočim ekosistemom paketov in knjižnic.





Kako začeti uporabljati Go

Programski jezik Go ni vnaprej nameščen v sistemih Windows, macOS ali večini distribucij Linuxa. Za zagon programov Go boste morali namestiti Go. Lahko preverite uradno Pojdi na prenose stran, da jo namestite na svoj računalnik. Če želite kar najbolje izkoristiti jezik, boste želeli namestiti najnovejšo različico Go novejše različice imajo več funkcij in posodobitve.





Ko namestite Go, lahko delate z jezikom, izvajate datoteke Go, ustvarjate delovne prostore in gradite projekte v Go.

S standardno knjižnico lahko ustvarite datoteko Go in zaženete programe Go. Če pa želite uporabljati zunanje knjižnice, boste morali ustvariti datoteko modulov Go za upravljanje odvisnosti, sledenje različicam in več.



Datoteka Go Modules

V Go je modul zbirka paketov v datotečnem drevesu z a go.mod datoteko v korenu. Ta datoteka definira pot modula, uvozno pot in zahteve glede odvisnosti za uspešen postopek gradnje.

  pregled datoteke go.mod modulov go

Datoteko modulov Go lahko ustvarite z Go proti ukaz in toplota podukaz, preden podate pot ali imenik za projekt.





računalnik ne prepozna zunanjega trdega diska Windows 10
go mod init project-directory 

Ukaz ustvari go.mod mapa. Argument po toplota ukaz je pot modula. Pot modula je lahko pot datoteke v vašem gostiteljskem okolju ali pot domene repozitorija.

Ko namestite zunanje pakete in odvisnosti, bo go posodobil zahtevati izjavo v go.mod datoteko, da zagotovite, da so vključeni.





Lahko uporabite urejeno podpoveljstvo v proti ukaz za prenos vseh odvisnosti, potrebnih za vaš program.

go mod tidy 

Ukaz bo prenesel vse manjkajoče uvoze v datoteko go modules.

Imenski prostor paketa Go

Vsaka izvorna datoteka Go pripada paketu in do kode znotraj imenskega prostora paketa lahko dostopate z njegovim identifikatorjem.

Za svoje pakete lahko imate več imenskih prostorov. Ko ustvarite mapo, ste ustvarili nov imenski prostor. Do drugih imenskih prostorov lahko dostopate z zapisom pika (.).

// folder 1  
package folder

func Folder() any {
// some function body here
return 0;
}

Tukaj je primer dostopa do drugega imenskega prostora iz drugega imenskega prostora.

 
// folder 2, file in different namespace
package directory

func directory() {
// accessing the Folder function from the folder namespace
folderFunc := folder.Folder()
}

Moral boš izvozite identifikator z velikimi črkami imena za dostop do identifikatorja v zunanjem imenskem prostoru.

Glavna funkcija

The glavni funkcija služi kot vstopna točka za programe Go. Datoteke ali paketa Go ne morete izvesti brez glavne funkcije. Lahko imate a glavni funkcija v katerem koli imenskem prostoru; vendar morate imeti samo enega glavni funkcijo v datoteki ali paketu.

Tukaj je preprosta Program Zdravo svet dokazati glavni funkcija:

package main 
import "fmt"

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

Ta koda razglaša glavni funkcijo v glavni imenski prostor paketa. Nato uvozi fmt paket in uporablja Println metoda za izpis niza v konzolo.

Uvažanje paketov v Go

V primerjavi z mnogimi drugimi jeziki je uvoz paketov in odvisnosti enostaven. The uvoz ključna beseda zagotavlja funkcionalnost za uvoz paketov. Pakete lahko uvozite iz standardne knjižnice in zunanjih odvisnosti z uvoz ključna beseda.

import "fmt" 

V zgornjem primeru uvažate en paket. Uvozite lahko več paketov. Pakete boste morali navesti v oklepajih za uvoz izjava.

import ( 
"fmt" // fmt for printing
"log" // log for logging
"net/http" // http for web applications
"encoding/json" // json for serializing and deserializing structs to JSON
)

Dodajanje kakršnih koli ločil v stavke uvoza ni veljavno. Za uvoze lahko navedete ime po meri tako, da navedete ime po meri pred imenom paketa.

import ( 
"net/http"
encoder "encoding/json" // alias import here
)

Tukaj ste uvozili json paket z imenom po meri kot kodirnik . Do funkcij in tipov paketa boste morali dostopati z imenom po meri (kodirnik).

Nekateri paketi zahtevajo uvoz drugih paketov zaradi stranskih učinkov. Ime paketa boste morali dodati s podčrtajem.

import ( 
_ "fmt" // side effects import
"log"
)

Ne morete dostopati do paketov, ki ste jih uvozili zaradi stranskih učinkov, lahko pa do odvisnosti, če jih konfigurirate.

Go Run proti Go Build

Uporabili boste teči in graditi ukaze za prevajanje in izvajanje kode Go. Imajo podobne funkcije in jih boste uporabljali za izvajanje paketov.

The teči ukaz je kombinacija navodil za prevajanje in izvajanje. The teči ukaz izvede paket brez ustvarjanja izvedljivih datotek v delovnem imeniku. Ime datoteke za ime paketa boste morali določiti za teči ukaz.

kako povečati dpi slike
go run file.go // executes a file 
go run packagename // executes the package

The graditi ukaz je ukaz za prevajanje, ki prevede paket ali datoteko v binarno izvršljivo datoteko.

Če zaženete graditi brez kakršnih koli argumentov za imenom datoteke ali paketa bo go ustvaril izvršljivo datoteko v korenskem imeniku vašega paketa.

go build main.go // compiles a file  
go build "package name" // compiles a package

Program boste morali znova prevesti z graditi ko spremenite paket.

Kot argument lahko podate imenik in graditi ukaz bo izdal izvršljivo datoteko v podanem imeniku.

go build file -o "directory" 

Toliko lahko storite z Go

Standardna knjižnica Go je zmogljiva in intuitivna. Hitro lahko zgradite sodobne aplikacije, ne da bi morali namestiti zunanje odvisnosti.

Od izdaje Go leta 2009 so ga razvijalci in podjetja uporabljali za različne primere uporabe na različnih področjih. Njegov uspeh je predvsem zato, ker Go poleg zmogljivosti, podobne C-ju, ponuja sintakso, podobno Pythonu.