Network programming with Go

Jan Newmarch ,

Head of Higher Education (ICT), Box Hill Institute
Adjunct Senior Research Fellow, Faculty of IT, Monash University
Adjunct Lecturer, School of Computing and Mathematics Charles Sturt University

v1.0, 27 April 2012

An e-book on building network applications using the Google Go programming language (golang)

This book has been revised to cover Go 1. The book is not complete, and also Go is expected to introduce more packages as it evolves.

A Chinese translation has been made at GitHub by Asta Xie . A local copy (as at 27 Dec, 2012) is here .


    PART 1: Background

  1. Architecture

  2. Overview of the Go language

  3. PART 2: Socket programming and related issues

  4. Socket-level Programming

  5. Data serialisation

  6. Application-Level Protocols

  7. Managing character sets and encodings

  8. Security

  9. PART 3: Web programming

  10. HTTP

  11. Templates

  12. A Complete Web Server

  13. HTML

  14. XML

  15. Web services: REST and SOAP
  16. PART 4: Other protocols

  17. Remote Procedure Call

  18. Network Channels

  19. Web Sockets

  20. PART 5: Cloud services and Google's AppEngine

  21. Cloud computing
  22. AppEngine environment and programming model
  23. AppEngine datastore
  24. AppEngine single signon
  25. AppEngine background tasks
  26. Other AppEngine topics

A PDF is here.

An epub ebook is here.

Copyright © Jan Newmarch,

If you like this book, please contribute using Flattr
or donate using PayPal


version 1.0

version 0.5

version 0.4

version 0.3

version 0.2

version 0.1