miku / gows

Go workshop notes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go Workshop Notes

instructor: about

Outline

  • Introduction
    • Motivation and Landscape
    • Hello World
    • Task: "helloworld"
  • History
    • Timeline of events
  • More First Programs
    • Entry point
    • Importing Code
    • Visibility (public, private)
  • Language Overview
    • Basic Types
    • Variable Declarations
    • Control Structures: if, for, switch
  • More Types
    • Slices
    • Maps
  • Interfaces
    • Structural Typing
    • Small interfaces
    • Variants (basic, embedding, general, ref/spec)
  • Go OOP?
    • Is Go object oriented? FAQ
  • Error Handling
    • Custom Error Types
    • Wrapping and unwrapping errors
  • Project Layout
    • typical structure
    • naming recommendations
    • import path and resolution
    • Go modules
    • mixing public and private code
    • versioning libraries
  • IO
    • working with files
    • readers and writers
  • Serialization
    • struct tags
    • JSON
    • XML
  • Testing Go Code
    • Unit Test
    • Subtests
    • Benchmarks
    • Testcontainers
  • Concurrency
    • classic and CSP style
    • goroutines
    • channels
    • select
    • the sync package
    • error handling
    • helpers: errgroup
  • HTTP clients
    • clients and transport
    • standard clients, third party clients
  • HTTP servers
    • handlers
    • router, e.g. gorilla/mux
    • testing
  • Database access
    • package db, db/sql
    • database drivers
    • sqlx helper

Follow up:

  • Linkchecker
  • Project layout, modules
    • add library
    • add service
  • Services
  • Misc

About

Go workshop notes.

License:MIT License


Languages

Language:HTML 85.6%Language:Go 14.2%Language:Makefile 0.1%Language:Dockerfile 0.0%