Cargando…

Go - Das Praxisbuch

Go ist bei aktuellen Umfragen unter Entwicklern immer unter den Top 5 der Programmiersprachen, die man gerne lernen möchte. Denn Go ist einfach. Und Go ist schnell. Von Google entwickelt und damit quasi für die Coud geschrieben, tritt die Programmiersprache an, das Programmieren rund um Cluster un...

Descripción completa

Detalles Bibliográficos
Autor principal: Schröpfer, Andreas
Formato: Electrónico eBook
Idioma:Indeterminado
Alemán
Publicado: [S.l.] : dpunkt, 2020.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Intro
  • Vorwort
  • Einleitung
  • Ziel dieses Buches
  • Die Geschichte von Go
  • Installation
  • Sicherheit und Patches
  • Editoren für den Go-Werkzeugkasten
  • Der Spielplatz für Gopher
  • Hello World
  • Eine lesbare technische Spezifikation
  • Ausgabe mit dem fmt-Paket
  • Vorstellung der Syntax
  • Wörter, Funktionen und Typen von Go
  • Variablen
  • Konstanten
  • Pointer
  • Eigene Typen
  • Typumwandlung
  • Zusammengesetzte Strukturen
  • Funktionen
  • Objektorientierung mit Methode
  • Exportiert und nicht exportiert
  • Arrays
  • Slices
  • Das Slice als Pointer
  • Maps
  • if
  • switch
  • for
  • Labels und goto
  • Blank Identifier
  • UTF-8, strings und runes
  • Projekt: Command Line Interface
  • Einleitung
  • gocat
  • File-Ausgabe
  • Den md5-Hash erzeugen
  • Dateien und HTTP-Server als Quellen für gomd5
  • Go Tooling
  • Schnelle Hilfe mit go help
  • Kompilieren und Installieren
  • Umgebungsvariablen mit go env
  • Ein Programm für jede Gelegenheit
  • Build Tags
  • Wie Code formatiert wird
  • gofmt
  • Automatische Imports mit goimports
  • Dokumentation immer dabei
  • godoc
  • Projekt: Ein einfacher Webloader
  • Einleitung
  • CLI
  • unser Interface
  • HTTP-Request erstellen
  • Implementierung des File-Outputs
  • Ausgabe des HTTP-Headers
  • Gültigkeit der übergebenen URL
  • Eigene Pakete und Module
  • Go-Code lebt in Paketen
  • Paketnamen
  • Die init()-Funktion
  • Semantic Versioning
  • Pakete leben in Modulen
  • Der Workflow, seit es Module gibt
  • Neuer bedeutet nicht immer besser
  • Update unserer Abhängigkeit
  • Neue Major-Version mit Modulen
  • Projekt: Code generieren
  • Einleitung
  • Ein Tool, um Code zu generieren
  • Template erstellen
  • Anwenden von go generate
  • Concurrency-Grundlagen
  • Concurrency mit Go
  • Parallelität im echten Leben
  • Goroutinen
  • Channels
  • Einen Channel schließen
  • Select
  • Race Conditions und Data Races.
  • Concurrency Patterns
  • Checkliste zu Goroutinen
  • Goroutinen melden, wenn sie fertig sind
  • Beenden von Goroutinen
  • Context
  • Prüfung eines geschlossenen Channels
  • Pipelines
  • Generator
  • Fan-In und Fan-Out
  • Channel of Channels
  • Worker Pool
  • Semaphore mit einem Buffered Channel
  • State Machine
  • Projekt: Go Concurrency
  • Einleitung
  • Command Line Interface
  • Argumente parsen
  • Befehle ausführen
  • Abbruch mit context
  • Verbesserung des Tools
  • Testen und Benchmarks
  • Tests in Go
  • Subtests
  • Tabellarische Tests
  • Eigenes Testpaket
  • Testen mit Beispielen
  • Ein ganzes Projekt testen
  • Benchmarks
  • Syntax der Benchmarks
  • Subbenchmarks
  • Projekt: Image Resizer
  • Einleitung
  • Command Line Interface
  • Erstellen der Flags
  • Größe erzeugen
  • Bild verkleinern
  • Filename prüfen
  • Funktionen zusammenführen
  • Refactoring in eine zusätzliche Funktion
  • Eigener Fehlertyp
  • Von sequentieller Ausführung zu nebenläufiger Ausführung
  • Interfaces
  • Bessere Abstraktion mit Interfaces
  • Die richtige Interface-Erstellung
  • Interne Abbildung der Interface-Typen
  • Leeres Interface
  • Vom Interface zum konkreten Typ
  • Interface in andere Interfaces einbinden
  • Interfaces in Strukturen einbinden
  • Mocking und Tests mit io.Reader und io.Writer
  • Projekt: Kopieren mit Reflection
  • Einleitung
  • Reflection in Go
  • Beschreibung des Pakets
  • Testfälle für unser Paket
  • Umsetzung
  • Verwenden von Tags
  • Fehlerbehandlung
  • Grundlagen
  • Variablen und Konstanten
  • Eigene Fehlertypen
  • Einem Fehler Kontext hinzufügen
  • Keine Panik
  • Projekt: Ein einfacher Webserver
  • Einleitung
  • Das Modell für unseren Blog
  • Der Webserver und seine Handler
  • Templates erstellen
  • Kommentarfunktion
  • Files ausliefern
  • API bereitstellen
  • Template nur einmal parsen
  • Nebenläufiger Job für den Index.