A Go Developer's Notebook

A Go Developer's Notebook

Eleanor McHugh
This is a sample of the book's content.Buy on Leanpub

Table of Contents

Introducing Go›

  • Hello World
    • Packages
    • Constants
    • Variables
    • Functions
    • Encapsulation
    • Generalisation
    • Startup
    • HTTP
    • The Environment
    • Handling Signals
    • TCP/IP
    • UDP
    • RSA obfuscated UDP
    • Error Handling
    • Exceptions
  • Echo
    • Arguments
    • Flags
    • Command-line Boilerplate and Standard I/O
    • Conditional Flags
    • Errors

Going Loopy›

  • Linear Sequences
    • The for {} construct
    • User Defined Slices
    • Iterating Through Arrays
    • Arrays and Slices Exposed
    • Iteration and structured types
  • mappings
    • Iteration and maps

Software Machines›

  • Software Machines
    • array stacks
    • cactus stacks
    • hash maps
    • heaps
    • switch dispatchers
    • direct threaded dispatchers
    • indirect threaded dispatchers
    • assembler
    • tail calls
    • architectures
    • fun with types
    • timers
    • Instruction Set
    • processor core
    • accumulator machine
    • stack machine
    • register machine
    • vector machine
  • Software Machines
    • memory

Functional Programming›

  • Functions
    • The Machine View
    • Adding Human Readability
    • Procedures and Functions in Go
    • The Mathematical View
    • Simple Factorials
    • First-Class and Higher-Order Functions
    • Closures
    • Currying
    • Recursion
    • funcs() Which Call Themselves
    • Mathematical Functions Which Call Themselves
    • Error Handling the Go Way
    • Changing Types

Odds & Sods›

  • Maps and Hashes
    • Go maps
    • A simple Map implementation
  • Types
    • Interfaces
    • Interfaces, pt 1
    • package adder
  • Pretty Pictures
    • Basic Mandelbrot
  • Phong Shading
  • Communication by Sharing
  • Concurrency
    • synchronous
    • asynchronous
    • map/reduce
    • map/reduce
  • Errors, Exceptions & Flow Control
    • Catch & Throw
    • Stack Traces
    • Exceptions
  • Duck Typing, Reflection and Type Manipulation
    • package generalise
    • raw
  • Beyond Go
    • Interfacing with Dynamic Libraries
    • SQLite 3
    • Ruby?
A Go Developer's Notebook/Software Machines

Software Machines

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/GoNotebook.

Up next

Software Machines

In this part

  • Software Machines
  • array stacks
  • cactus stacks
  • hash maps
  • heaps
  • switch dispatchers
  • direct threaded dispatchers
  • indirect threaded dispatchers
  • assembler
  • tail calls
  • architectures
  • fun with types
  • timers
  • Instruction Set
  • processor core
  • accumulator machine
  • stack machine
  • register machine
  • vector machine
  • Software Machines
  • memory