Een Minimal Go-programma begrijpen

Een Minimal Go-programma begrijpen

De populariteit van Go is in de loop der jaren toegenomen. Meer bedrijven passen Go toe en de ontwikkelaarspool groeit naarmate er meer gebruiksscenario's voor de taaluitrol komen. Mensen gebruiken het om programma's te bouwen, variërend van snelle web-apps, blockchain-oplossingen en machine learning-tools.





MAKEUSEVAN VIDEO VAN DE DAG

Ontwikkelaars zijn dol op Go vanwege de expressiviteit, het gebruiksgemak en de hoge taalprestaties. Go heeft een snellere leercurve dan de meeste talen met een snelgroeiend ecosysteem van pakketten en bibliotheken.





Aan de slag met Go

De Go programmeertaal is niet vooraf geïnstalleerd op Windows, macOS of de meeste Linux-distributies. U moet Go installeren om Go-programma's uit te voeren. U kunt de officiële controleren Ga downloaden pagina om het op uw computer te installeren. U wilt een recente versie van Go installeren om het meeste uit de taal te halen sinds nieuwere versies hebben meer functies en updates.





Zodra je Go hebt geïnstalleerd, kun je met de taal werken, Go-bestanden uitvoeren, werkruimten maken en projecten bouwen in Go.

U kunt een Go-bestand maken en Go-programma's uitvoeren met behulp van de standaardbibliotheek. Als u echter externe bibliotheken wilt gebruiken, moet u een Go-modulebestand maken voor afhankelijkheidsbeheer, versietracking en meer.



Het Go Modules-bestand

In Go is een module een verzameling pakketten in een bestandsstructuur met een ga.mod bestand in de root. Dat bestand definieert het pad van de module, het importpad en de afhankelijkheidsvereisten voor een succesvol bouwproces.

  overzicht van een go-modules go.mod-bestand

U kunt een Go-modulebestand maken met de Go tegen commando en de warmte subopdracht voordat u het pad of de map voor het project opgeeft.





go mod init project-directory 

De opdracht maakt de ga.mod het dossier. Het argument na de warmte commando is het modulepad. Het modulepad kan het bestandspad op uw hostomgeving zijn, of het repository-domeinpad.

Wanneer u externe pakketten en afhankelijkheden installeert, zal go de vereisen aangifte in de ga.mod bestand om te controleren of ze zijn opgenomen.





U kunt de netjes subcommando van de tegen commando om alle afhankelijkheden die nodig zijn voor uw programma te downloaden.

go mod tidy 

De opdracht downloadt alle ontbrekende importen naar het go-modules-bestand.

De Go-pakketnaamruimte

Elk Go-bronbestand hoort bij een pakket en u hebt toegang tot code binnen een pakketnaamruimte met behulp van de identifier.

U kunt meerdere naamruimten voor uw pakketten hebben. Nadat u een map hebt gemaakt, hebt u een nieuwe naamruimte gemaakt. U kunt toegang krijgen tot andere naamruimten met een punt (.) notatie.

// folder 1  
package folder

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

Hier is een voorbeeld van toegang tot een andere naamruimte vanuit een andere naamruimte.

 
// folder 2, file in different namespace
package directory

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

Je zal moeten exporteer de identificatie door de naam met een hoofdletter te schrijven om toegang te krijgen tot een id in een externe naamruimte.

hoe een kleur te selecteren in photoshop

De belangrijkste functie:

De hoofd functie dient als toegangspunt voor Go-programma's. U kunt een Go-bestand of -pakket niet uitvoeren zonder de hoofdfunctie. Je kunt een hoofd functie in elke naamruimte; u moet er echter maar één hebben hoofd functie in een bestand of pakket.

Hier is een simpele Hallo Wereld Programma om te demonstreren hoofd functie:

package main 
import "fmt"

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

Deze code verklaart de hoofd functie in de hoofd pakket naamruimte. Vervolgens importeert het de fmt pakket en maakt gebruik van de Println methode om een ​​string naar de console uit te voeren.

Pakketten importeren in Go

In vergelijking met veel andere talen is het importeren van pakketten en afhankelijkheden eenvoudig. De importeren trefwoord biedt functionaliteit voor het importeren van pakketten. U kunt pakketten importeren uit de standaardbibliotheek en externe afhankelijkheden met de importeren trefwoord.

import "fmt" 

In het bovenstaande voorbeeld importeert u één pakket. U kunt meerdere pakketten importeren. U moet de pakketten tussen haakjes opgeven na de importeren uitspraak.

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
)

Het toevoegen van scheidingstekens in importinstructies is ongeldig. U kunt een aangepaste naam voor importen declareren door de aangepaste naam voor de pakketnaam op te geven.

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

Hier heb je de . geïmporteerd json pakket met de aangepaste naam als: encoder . U moet toegang krijgen tot de functies en typen van het pakket met de aangepaste naam (encoder).

Voor sommige pakketten moet u andere pakketten importeren vanwege bijwerkingen. U moet de pakketnaam vooraf laten gaan door een onderstrepingsteken.

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

Je hebt geen toegang tot pakketten die je hebt geïmporteerd vanwege bijwerkingen, maar afhankelijkheden wel als je ze configureert.

Ga rennen versus ga bouwen

Je gebruikt de rennen en bouwen commando's om uw Go-code te compileren en uit te voeren. Ze hebben vergelijkbare functionaliteiten en u zult ze gebruiken voor het uitvoeren van pakketten.

De rennen commando is een combinatie van compilatie- en uitvoeringsinstructies. De rennen commando voert het pakket uit zonder uitvoerbare bestanden in de werkmap te maken. U moet de bestandsnaam van de pakketnaam opgeven na de rennen opdracht.

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

De bouwen opdracht is een compilatieopdracht die een pakket of bestand compileert tot een binair uitvoerbaar bestand.

Als u de bouwen commando zonder enige argumenten achter de bestands- of pakketnaam, zal go een uitvoerbaar bestand genereren in de hoofdmap van uw pakket.

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

U moet het programma opnieuw compileren met de bouwen commando wanneer u een pakket wijzigt.

U kunt een map als argument specificeren, en de bouwen commando zal het uitvoerbare bestand in de opgegeven map uitvoeren.

go build file -o "directory" 

Er is zoveel dat je kunt doen met Go

De Go-standaardbibliotheek is krachtig en intuïtief. U kunt snel moderne applicaties bouwen zonder dat u externe afhankelijkheden hoeft te installeren.

Sinds de release van Go in 2009 hebben ontwikkelaars en bedrijven het voor verschillende gebruiksscenario's op verschillende gebieden gebruikt. Het succes is vooral te danken aan het feit dat Go naast C-achtige prestaties een Python-achtige syntaxis biedt.