Introduzione

Completato

In questo modulo finale si scriverà un programma che usa quasi tutti i concetti illustrati finora. In questo modo si otterranno istruzioni dettagliate su come scrivere un programma. Verrà illustrato come strutturare i file, come compilare i file, come eseguire il programma e come testare il programma. Non è stato ancora illustrato come scrivere test in Go, ma si userà questo modulo per introdurre questo importante argomento.

Per iniziare si scriverà il nucleo del programma, che sarà per una banca online. Gli utenti interagiranno con il programma attraverso un'API. Si creeranno due progetti in Go per apprendere con la pratica a fare riferimento a pacchetti locali da un altro programma. Infine, per assicurarsi che la logica di base del programma funzioni sempre, verrà creato un set di test da eseguire prima di testare il programma manualmente nel browser.

Analogamente ad altri moduli, sarà necessario estendere il programma risolvendo una sfida che consentirà di acquisire maggiore sicurezza nella scrittura di altri programmi Go in futuro.

Obiettivi di apprendimento

Contenuto del modulo:

  • Come funziona il test in Go.
  • Come incapsulare la logica di base di un programma in un pacchetto.
  • Come esporre la logica di base tramite un'API Web.
  • Come scrivere i test per il pacchetto della logica di base (usando lo sviluppo basato su test).
  • Come quasi tutti i concetti illustrati finora possono interagire tra loro.

Prerequisiti

  • Ambiente Go pronto per la creazione di programmi. L'ideale è che Go sia installato e configurato localmente e che Visual Studio Code sia installato con l'estensione Go.
  • Sapere come creare e modificare file .go.
  • Possibilità di eseguire programmi Go usando il prompt del terminale.
  • Conoscenza dei tipi di dati di base, come string, int e boolean.
  • Conoscenza delle modalità di scrittura di flussi di controllo dei dati di base, come le istruzioni if e for.
  • Nozioni sulla scrittura di funzioni.
  • Nozioni sulla creazione di strutture e metodi.
  • Nozioni sull'uso di librerie come net/http.