Introductie

Voltooid

Misschien hebt u gehoord dat Go een uitstekende taak voor gelijktijdigheid doet. Misschien is het de meest prominente functie die Go zo populair heeft gemaakt en de keuze voor het schrijven van andere software, zoals Docker, Kubernetes en Terraform.

Voordat u leert hoe gelijktijdigheid werkt in Go, moet u mogelijk vergeten wat u al kent uit andere programmeertalen. Go's aanpak is anders.

Op dit moment beschikt u al over de vereiste kennis voor meer geavanceerde onderwerpen, zoals gelijktijdigheid. We beginnen echter met het maken van de reden waarom gelijktijdigheid nodig is. We introduceren heel weinig verschillende onderwerpen.

We raden u aan om alle codevoorbeelden te oefenen en niet verder te gaan totdat u de concepten volledig begrijpt. Zoals u in eerdere modules hebt ervaren, is de praktijk wat u helpt om concepten beter te begrijpen.

Laten we beginnen met het verkennen van wat u in deze module leert.

Leerdoelen

In deze module worden de volgende onderwerpen behandeld:

  • Hoe gelijktijdigheid werkt in Go.
  • Het verschil tussen gelijktijdigheid en parallelle uitvoering.
  • Hoe communicatie in een gelijktijdig programma werkt met behulp van kanalen.
  • Een programma schrijven dat sneller wordt uitgevoerd door gelijktijdigheid te implementeren.
  • Dynamische programma's schrijven die buffers kunnen gebruiken om te profiteren van gelijktijdigheid wanneer u een beperkt aantal gelijktijdige aanroepen wilt starten.

Vereisten

  • Een Go-omgeving die klaar is om toepassingen te maken. In het ideale geval moet Go lokaal zijn geïnstalleerd en geconfigureerd, en Visual Studio Code moet zijn geïnstalleerd met de Go-extensie.
  • De mogelijkheid om bestanden te maken en te wijzigen .go .
  • De mogelijkheid om Go-toepassingen uit te voeren met behulp van de terminalprompt.
  • Kennis van basisgegevenstypen zoals string, inten boolean.
  • Kennis van het schrijven van basisstromen voor gegevensbeheer, zoals if en for instructies.
  • Kennis van het schrijven van functies.
  • Kennis van het gebruik van bibliotheken zoals net/http.