- Browse
- » Go - Das Praxisbuch
Go - Das Praxisbuch
Author
Publisher
dpunkt
Publication Date
2020
Language
English
Description
Loading Description...
More Details
ISBN
9781098125479
9783960888482
9783864907135
9783960888482
9783864907135
Table of Contents
From the eBook
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.
Excerpt
Loading Excerpt...
Author Notes
Loading Author Notes...
Reviews from GoodReads
Loading GoodReads Reviews.
Staff View
Loading Staff View.