Uuden projektin aloittaminen

Go:
Uuden projektin aloittaminen

Kuinka:

Aloita varmistamalla, että Go on asennettu suorittamalla go version komentorivillä. Sinun pitäisi nähdä asentamasi Go-version tulosteena. Seuraavaksi, aloitetaan uusi projekti. Siirry työtilaasi ja suorita:

mkdir hello-world
cd hello-world

Tämä luo uuden hakemiston projektillesi ja siirtää sinut siihen. Nyt, alusta moduuli:

go mod init example.com/hello-world

Korvaa example.com/hello-world omalla moduulipolullasi. Tämä komento luo go.mod tiedoston hakemistoosi, ilmoittaen uuden Go-moduulin aloituksesta. Tältä go.mod voi näyttää:

module example.com/hello-world

go 1.18

go.mod seuraa projektisi riippuvuuksia. Nyt, luo main.go tiedosto:

touch main.go

Avaa main.go suosikkieditorissasi ja lisää seuraava koodi tulostamaan “Hello, World!”:

package main

import "fmt"

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

Suorittaaksesi ohjelmasi, palaa takaisin komentoriville ja suorita:

go run main.go

Sinun pitäisi nähdä:

Hello, World!

Onnittelut! Olet juuri aloittanut uuden Go-projektin ja suorittanut ensimmäisen Go-ohjelmasi.

Syväsukellus

Aloitteen tuoda moduulit Go:n riippuvuuksien hallinnan standardiksi oli merkittävä muutos Go-ekosysteemissä, virallisesti omaksuttu Go 1.11:ssä. Ennen moduuleja Go-kehittäjät turvautuivat GOPATH-ympäristömuuttujaan riippuvuuksien hallintaan, mikä oli vähemmän intuitiivista ja usein johti kuuluisaan “riippuvuushelvettiin”.

Moduulit tarjoavat kapseloidun tavan hallita projektiriippuvuuksia, versionhallintaa ja ovat siirtymä kohti Go-projekteja, jotka ovat enemmän itsenäisiä ja siirrettäviä. Jokainen moduuli määrittelee riippuvuutensa, jotka Go seuraa go.mod tiedostossa, yksinkertaistaen riippuvuuksien hallintaa eri ympäristöissä ja kehitysvaiheissa.

On kuitenkin huomionarvoista, että vaikka Go-moduulit ovat nyt standardi, jotkut perintöprojektit saattavat silti käyttää GOPATHia. Useimmille uusille projekteille moduulit tarjoavat yksinkertaisemman ja tehokkaamman hallintajärjestelmän, mutta GOPATHin ymmärtäminen voi olla kätevää vanhempien Go-koodikantojen ylläpitämiseen tai niihin panostamiseen.

Vaihtoehtojen osalta, vaikka Go-moduulit ovat nyt de facto standardi, Go-yhteisö on kokeillut aiemmin muita riippuvuuksien hallintatyökaluja, kuten dep. Kuitenkin, nämä on suurelta osin syrjäytetty virallisen moduulituen myötä, joka on integroitu Go-työkaluketjuun.