Minimal Go programmi mõistmine

Minimal Go programmi mõistmine

Go populaarsus on aastatega kasvanud. Üha enam ettevõtteid võtab Go kasutusele ja arendajate hulk kasvab, kuna keele kasutuselevõtt suureneb. Inimesed kasutavad seda programmide loomiseks alates kiiretest veebirakendustest, plokiahela lahendustest ja masinõppetööriistadest.





PÄEVA VIDEO MAKKEUSE

Arendajad armastavad Go-d selle väljendusvõime, kasutuslihtsuse ja hea keelejõudluse tõttu. Kiiresti kasvava pakettide ja teekide ökosüsteemiga Go on kiirem õppimiskõver kui enamikul keeltel.





Go'ga alustamine

Go programmeerimiskeel pole Windowsi, macOS-i ega enamiku Linuxi distributsioonide jaoks eelinstallitud. Go programmide käitamiseks peate installima Go. Saate ametniku käest kontrollida Avage allalaadimised lehele, et see oma masinasse installida. Soovite installida Go uusima versiooni, et saada sellest keelest maksimumi uuematel versioonidel on rohkem funktsioone ja uuendused.





Kui olete Go installinud, saate Go-s töötada keelega, käivitada Go-faile, luua tööruume ja koostada projekte.

Saate luua Go-faili ja käivitada Go-programme, kasutades standardset teeki. Kui aga soovite kasutada väliseid teeke, peate sõltuvuse haldamiseks, versioonide jälgimiseks ja muuks muuks looma Go moodulite faili.



kuidas parandada arvuti musta ekraani

Go moodulite fail

Go-s on moodul pakettide kogum failipuus koos a go.mod fail juurus. See fail määrab mooduli tee, imporditee ja sõltuvusnõuded edukaks ehitusprotsessiks.

  go modules faili go.mod ülevaade

Go-moodulite faili saate luua rakendusega Go vastu käsk ja soojust alamkäsk enne projekti tee või kataloogi määramist.





go mod init project-directory 

Käsk loob go.mod faili. Argument pärast soojust käsk on mooduli tee. Mooduli tee võib olla teie hostikeskkonna failitee või hoidla domeeni tee.

Kui installite väliseid pakette ja sõltuvusi, värskendab go nõuda deklaratsioonis go.mod faili, et tagada nende kaasamine.





Võite kasutada korras allkäsk vastu käsk kõigi teie programmi jaoks vajalike sõltuvuste allalaadimiseks.

go mod tidy 

Käsk laadib kõik puuduvad impordid alla moodulite faili.

Go paketi nimeruum

Iga Go lähtefail kuulub paketti ja selle identifikaatori abil pääsete juurde paketi nimeruumis olevale koodile.

Teie pakettide jaoks võib olla mitu nimeruumi. Kui olete kausta loonud, olete loonud uue nimeruumi. Teistele nimeruumidele pääsete juurde punktiga (.).

// folder 1  
package folder

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

Siin on näide teisest nimeruumist erinevale nimeruumile juurdepääsu saamiseks.

 
// folder 2, file in different namespace
package directory

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

Sa pead identifikaatori eksportimine kirjutades nime suurtähtedega, et pääseda ligi identifikaatorile välises nimeruumis.

parim hääl -tekstrakendus androidile

Peamine funktsioon

The peamine funktsioon toimib Go programmide sisenemispunktina. Go-faili või paketti ei saa käivitada ilma põhifunktsioonita. Sul võib olla a peamine funktsiooni mis tahes nimeruumis; sul peab aga olema ainult üks peamine funktsioon failis või paketis.

Siin on lihtne Tere maailm programm demonstreerida peamine funktsioon:

package main 
import "fmt"

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

See kood deklareerib peamine funktsioonis peamine paketi nimeruum. Seejärel impordib see fmt pakendit ja kasutab Println meetod stringi konsooli väljastamiseks.

Pakkide importimine Go-s

Võrreldes paljude teiste keeltega on pakettide ja sõltuvuste importimine lihtne. The importida märksõna pakub pakettide importimise funktsioone. Saate importida pakette standardteegist ja välistest sõltuvustest rakendusega importida märksõna.

import "fmt" 

Ülaltoodud näites impordite ühte paketti. Saate importida mitu paketti. Peate määrama paketid sulgudes pärast importida avaldus.

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
)

Impordiavaldustesse eraldajate lisamine on kehtetu. Saate deklareerida impordi jaoks kohandatud nime, määrates kohandatud nime paketi nime ette.

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

Siin importisite json pakett kohandatud nimega as kodeerija . Peate paketi funktsioonidele ja tüüpidele juurde pääsema kohandatud nimega (kodeerija).

Mõned paketid nõuavad kõrvalmõjude jaoks teiste pakettide importimist. Peate paketi nime ette kirjutama allkriipsu.

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

Te ei pääse kõrvalmõjude jaoks imporditud pakettidele juurde, kuid sõltuvused pääsevad juurde, kui need konfigureerite.

Go Run vs. Go Build

Sa kasutad jooksma ja ehitada käsud Go-koodi kompileerimiseks ja käivitamiseks. Neil on sarnased funktsioonid ja te kasutate neid pakettide täitmiseks.

The jooksma käsk on kompileerimis- ja täitmisjuhiste kombinatsioon. The jooksma Käsk käivitab paketi ilma töökataloogis käivitatavaid faile looma. Peate määrama pärast paketi nime failinime jooksma käsk.

go run file.go // executes a file 
go run packagename // executes the package

The ehitada käsk on kompileerimiskäsk, mis kompileerib paketi või faili binaarseks käivitatavaks failiks.

kaugtöölaud ei leia arvutit

Kui käivitate ehitada käsk ilma argumentideta pärast faili või paketi nime, genereerib go teie paketi juurkataloogis käivitatava faili.

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

Peate programmi uuesti kompileerima ehitada käsk, kui muudate paketti.

Argumendina saate määrata kataloogi ja ehitada käsk väljastab käivitatava faili määratud kataloogis.

go build file -o "directory" 

Go-ga saate nii palju ära teha

Go standardraamatukogu on võimas ja intuitiivne. Saate kiiresti luua kaasaegseid rakendusi, ilma et peaksite installima väliseid sõltuvusi.

Alates Go väljalaskmisest 2009. aastal on arendajad ja ettevõtted seda kasutanud erinevatel kasutusjuhtudel ja erinevates valdkondades. Selle edu taga on peamiselt see, et Go pakub Pythoni sarnast süntaksit koos C-laadse jõudlusega.