Cvičení – Hello World

Dokončeno

V této části napíšete svůj první program Go, který vytiskne zprávu na obrazovku. Toto cvičení představuje typický způsob, jak začít v programovacím jazyce. Dozvíte se další informace o rozhraní příkazového řádku Go (CLI) a o tom, jak sestavit a spustit aplikaci Go.

Konfigurace integrovaného vývojového prostředí (IDE) pro otevření z rozhraní příkazového řádku

Integrované vývojové prostředí editoru Visual Studio Code můžete otevřít z příkazového řádku a začít upravovat soubory v aktuálním pracovním prostoru. Tato funkce integrovaného vývojového prostředí (IDE) se implementuje pomocí proměnné prostředí systému $PATH (nebo $Path). Pokud je tato funkce povolená, můžete pomocí code . příkazu z rozhraní příkazového řádku otevřít integrované vývojové prostředí a upravit soubory v aktuálním adresáři.

Některé instalace editoru Visual Studio Code ve výchozím nastavení přidávají podporu rozhraní příkazového řádku do proměnné $PATH. Tato možnost se může zobrazit během procesu instalace. Pokud už máte toto nastavení nakonfigurované, máte všechno nastavené. V opačném případě možná budete muset k použití této funkce provést následující kroky.

Linux nebo macOS

Pomocí následujícího postupu zaregistrujte rozhraní příkazového řádku editoru Visual Studio Code v proměnné prostředí $PATH:

  1. Otevřete Visual Studio Code.

  2. V části Zobrazení vyberte paletu příkazů.

  3. Do vyhledávacího pole zadejte příkaz prostředí. Při psaní filtr výsledků.

  4. Zvolte příkaz prostředí: Do příkazu PATH nainstalujte příkaz code.

  5. Zavřete otevřený příkaz nebo terminálový řádek.

    Důležité

    Pokud máte otevřenou výzvu z předchozího příkladu, zavřete výzvu a otevřete novou výzvu. Tento krok je nezbytný, aby se nová hodnota $PATH projevila.

  6. Zavřete Visual Studio Code.

Okna

Pomocí následujícího postupu přidejte umístění rozhraní příkazového řádku editoru Visual Studio Code do proměnné prostředí systému $Path:

Poznámka:

Pokud znáte proměnné prostředí a víte, jak do systémové proměnné $Path přidat nové umístění, můžete použít metodu, která vám nejlépe vyhovuje. Následující postup je trochu dlouhý, ale jedná se o ověřenou metodu, která zajistí, že se proměnná správně aktualizuje.

  1. Otevřete Ovládací panely Windows.

  2. Vyberte Systém a pak vyberte Upřesnit nastavení systému.

  3. V dialogovém okně Vlastnosti systému v části Upřesnit vyberte Proměnné prostředí. Otevře se dialogové okno Upravit proměnné prostředí.

    Dialogové okno Upravit proměnné prostředí zobrazuje dva seznamy:

    • Uživatelské proměnné pro <uživatelské jméno>: Definice místních proměnných pro konkrétního uživatele.
    • Systémové proměnné: Definice systémových proměnných pro všechny uživatele.

    V tomto postupu pracujeme se systémovými proměnnými.

  4. V dialogovém okně Proměnné prostředí v seznamu Systémové proměnné vyhledejte proměnnou Cesta.

  5. Vyberte proměnnou Cesta a zvýrazněte řádek. Vyberte položku Upravit. Otevře se dialogové okno Upravit proměnné prostředí. Dialogové okno obsahuje seznam všech umístění složek definovaných v proměnné.

  6. V dialogovém okně Upravit proměnné prostředí vyberte Nový. Na konci seznamu se otevře prázdný řádek.

  7. Do prázdného řádku zadejte umístění spustitelného souboru rozhraní příkazového řádku editoru Visual Studio Code. Nahraďte <user-name> svým uživatelským jménem.

    C:\Users\<user-name>\AppData\Local\Programs\Microsoft VS Code\bin
    
  8. Kliknutím na tlačítko OK zavřete každé dialogové okno.

  9. Zavřete dialogové okno Vlastnosti systému a windows Ovládací panely.

Krok 1: Otevření pracovního prostoru Go a integrovaného vývojového prostředí

Po potvrzení, že je Visual Studio Code připravený k použití z rozhraní příkazového řádku, můžete otevřít pracovní prostor Go.

  1. Otevřete nový příkaz nebo terminálový řádek.

  2. Spuštěním následujícího příkazu otevřete adresář pracovního prostoru Go:

    cd $GOPATH/src
    
    cd %GOPATH%/src
    
  3. Pomocí následujícího příkazu otevřete Visual Studio Code z pracovního prostoru:

    code .
    

Spustí se Visual Studio Code. Zobrazení Průzkumníka se zobrazí vlevo a na pravé straně je úvodní stránka.

V zobrazení Průzkumníkaby se měl otevřít oddíl SRC projektu Go (rozbalený). Tato část je složka /src pro váš projekt. Momentálně je prázdný, ale v dalším kroku přidáme nějaký obsah.

Krok 2: Vytvoření nové složky a souboru Go

Pojďme do projektu Go přidat složku a soubor. V editoru Visual Studio Code existuje několik způsobů, jak vytvořit nové položky:

  • Akce v nabídce panelu nástrojů:
    • Vyberte Složku Otevřít soubor> a pak vytvořte novou složku.
    • Vyberte Soubor>Nový a spusťte nový soubor.
  • Odkazy na úvodní stránce, které se podobají akcím nabídky panelu nástrojů.
  • Ikony v zobrazení Průzkumníka napravo od oddílu SRC :
    • Vyberte ikonu Nová složka. Do textového pole zadejte název složky a stiskněte Enter.
    • Vyberte ikonu Nový soubor. Do textového pole zadejte název souboru a stiskněte Enter.

V editoru Visual Studio Code proveďte následující kroky. Pokud chcete vytvořit nový soubor a složku, použijte proces, který vám nejlépe vyhovuje.

  1. Vytvořte novou složku s názvem helloworld.

  2. Vytvořte nový soubor s názvem main.go pro kód aplikace.

  3. Rozbalte zobrazení Průzkumníka >SRC a zobrazte strom struktury složek. Měl by vypadat jako v tomto příkladu:

    SRC/
        Helloworld/
            main.go

Instalace nástrojů rozšíření Go

Pokud je main.go prvním souborem Go, který otevřete v editoru Visual Studio Code, může se zobrazit výzva k instalaci dalších nástrojů pro rozšíření Go. Po zobrazení výzvy vyberte Nainstalovat. V dolní části integrovaného vývojového prostředí se otevře terminál, který zobrazí výstup procesu. Měl by se zobrazit výstup podobný tomuto příkladu:

Prostředí nástrojů: GOPATH=C:\Projects\Go
Instalace 5 nástrojů v C:\Projects\Go\bin v režimu modulu
Instalace github.com/uudashr/gopkgs/v2/cmd/gopkgs (C:\Projects\Go\bin\gopkgs.exe) SUCCEEDED

Během procesu instalace zkontrolujte stavový řádek v editoru Visual Studio Code. Pokud se v pravém dolním rohu zobrazí zpráva, například "Všechny nástroje nejsou nainstalované", vyberte zprávu. V místní nabídce vyberte Nainstalovat.

Po úspěšném dokončení procesu instalace se ve výstupu terminálu zobrazí souhrn:

Všechny nástroje byly úspěšně nainstalovány. Jste připraveni přejít na :).

Krok 3: Přidání kódu do souboru Go

Teď do souboru Go přidáme kód.

  1. Do souboru main.go přidejte následující kód:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello World!")
    }
    
  2. Uložte soubor.

Nedělejte si starosti s formátováním kódu, jako jsou tabulátory nebo mezery. Visual Studio Code kód automaticky naformátuje pokaždé, když soubor uložíte.

Krok 4: Spuštění programu Go

Program Go se dá spustit v příkazovém řádku nebo na příkazovém řádku nebo v terminálu, který běží v editoru Visual Studio Code.

Můžete použít existující výzvu nebo otevřít novou. Pokud otevřete novou výzvu, nezapomeňte změnit umístění adresáře na pracovní prostor Go. Nezapomeňte také spustit program ze složky, která obsahuje váš soubor Go: $GOPATH/src/helloworld.

Otevření terminálu v editoru Visual Studio Code

Pokud chcete program spustit z editoru Visual Studio Code místo samostatného příkazového řádku nebo příkazového řádku terminálu, postupujte takto:

  1. V editoru Visual Studio Code vyberte Terminál a pak vyberte Nový terminál.

  2. V rozevíracím seznamu v pravém horním rohu terminálu vyberte Nový příkazový řádek.

  3. V terminálu spusťte následující příkaz, kterým změníte umístění adresáře do pracovního prostoru Go a složku, ve které je váš soubor Go:

    cd $GOPATH/src/helloworld
    
    cd %GOPATH%/src/helloworld
    

Spuštění aplikace Go

Ke spuštění aplikace Go použijte v terminálu nebo příkazovém řádku následující příkaz:

go run main.go

Měl by se zobrazit následující výstup:

Hello World!

Příkaz go run dělá dvě věci. Aplikace se zkompiluje a po úspěšném kompilaci aplikaci spustí.

Sestavení spustitelného souboru

Pokud chcete pro svůj program vygenerovat spustitelný soubor, použijte tento příkaz:

go build main.go

go build Po dokončení příkazu vygeneruje spustitelná aplikace, kterou můžete spustit kdykoli bez dalšího zpracování. Příkaz vytvoří pouze spustitelný soubor. Program se nespustí jako příkaz go run .

Kontrola obsahu /src

Projekt by teď měl vypadat v zobrazení Průzkumníka >SRC takto:

SRC/
    Helloworld/
        main
        main.go

V zobrazení Průzkumníka je název souboru bez přípony spustitelný soubor, který můžete použít ke spuštění programu. (Ve Windows má tento soubor ve skutečnosti příponu .exe .) Při vývoji použijete go run příkaz. K sestavení binárních souborů pro vaši aplikaci použijte go build příkaz a nasaďte binární spustitelný soubor do správného prostředí.

Co jste právě napsali v Go?

Vytvořili jste svou první aplikaci Go a ujistili jste se, že se zkompiluje a spustí. Pojďme se podívat na řádek kódu po řádku.

Začneme prvním příkazem v souboru Go:

package main

Příkaz package main je způsob, jakým říkáme Go, že aplikace, kterou vytváříme, je spustitelný program (soubor, který můžete spustit). Naše aplikace Hello World! je součástí main balíčku. Balíček je sada běžných souborů zdrojového kódu. Každý spustitelný soubor má tento první řádek, i když má projekt nebo soubor jiný název.

Na tyto koncepty se podíváme podrobněji v dalším modulu. Prozatím potřebujeme vědět, že každý spustitelný program by měl být součástí main balíčku.

Výzva: Změna názvu balíčku

Můžete potvrdit důležitost main balíčku?

  1. V souboru Go změňte název balíčku na prvním řádku.
  2. Uložte soubor a spusťte program znovu v terminálu.

  Co se stane? Vidíte "Hello World!"? Vytváří se binární spustitelný soubor?

 

Zobrazit odpověď
"Hello World!" se nezobrazuje. Binární spustitelný soubor se nevygeneruje. Měla by se zobrazit chyba: Go run: cannot run non-main package. Proč? Každý spustitelný program by měl být součástí hlavního balíčku.

Tady je další řádek v souboru Go:

import "fmt"

Tento import příkaz poskytuje přístup k programu k jinému kódu v různých balíčcích. V tomto případě fmt je standardní balíček knihovny. O balíčku fmt si můžete přečíst na oficiálním webu dokumentace Go.

Tento příkaz potřebujete import , protože k tisku zprávy na obrazovku později v programu používáte funkci z tohoto balíčku. Do programu můžete zahrnout tolik import příkazů, kolik potřebujete. Go je však v tomto ohledu idiotikou. Pokud importujete balíček, ale nepoužíváte z balíčku odpovídající funkci, aplikace se nezkompiluje. Skvělou funkcí editoru Visual Studio Code je, že při uložení souboru automaticky odebere nepoužívané importy v programu.

Odebral Visual Studio Code import při uložení souboru? Zkuste soubor upravit bez editoru Visual Studio Code a zkuste aplikaci spustit. Jaký výstup teď vidíte?

Výzva: Přidání dalšího importu

Můžete ověřit, co jste se naučili o nepoužívaných importech?

  1. Obnovte soubor Go do původního kódu.
  2. Přidejte další příkaz importu, například math nebo io.
  3. Uložte soubor a spusťte program znovu v terminálu.

  Co se stane? Odebere Visual Studio Code nepoužívaný import? Pokud ano, kdy se odebere?

  1. Upravte soubor Go znovu, ale nepoužívejte Visual Studio Code.
  2. Uložte soubor a spusťte program v nové výzvě.

  Co se stane? Jaký výstup teď vidíte?

 

Zobrazit odpověď
Pokud soubor Go upravíte v integrovaném vývojovém prostředí (IDE), Visual Studio Code při uložení souboru zjistí všechny nepoužívané balíčky a odebere odpovídající příkazy importu. Když upravíte soubor Go mimo Visual Studio Code, kód se nezdaří. Měla by se zobrazit chyba, například: "# command-line-arguments .\main.go:5:2: importováno a nepoužívá se: "math".

Podívejme se na blok kódu v souboru Go:

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

Příkaz func je vyhrazené slovo, které se používá k deklaraci funkce. Tato první funkce má název "main", protože je výchozím bodem našeho programu. V celém řádku package main můžete mít jenom jednu main() funkci (ta, kterou jste definovali v prvním řádku). main() Ve funkci jste volali Println funkci z fmt balíčku. Odeslali jste textovou zprávu, kterou jste chtěli vidět na obrazovce.

O funkcích se budeme zabývat více a v dalším modulu to uděláme.