-
Notifications
You must be signed in to change notification settings - Fork 18.1k
LearnServerProgramming
Sameer Ajmani edited this page Jan 9, 2015
·
45 revisions
This page links to resources for learning about server programming in Go. The items are organized into sections by topic.
Go servers process each request in its own goroutine. To share memory safely, these goroutines must communicate. LearnConcurrency outlines a course of study.
- Package net/http provides HTTP client and server implementations.
- Package encoding/json implements encoding and decoding of JSON objects as defined in RFC 4627.
- Package net/rpc provides access to the exported methods of an object across a network or other I/O connection.
- Package os/exec runs external commands.
- Package text/template implements data-driven templates for generating textual output.
- Package http/template implements data-driven templates for generating HTML output safe against code injection.
- Read Profiling Go Programs
- Read Arrays, slices (and strings): The mechanics of 'append'
- Read the Frequently Asked Questions (FAQ), especially
- Package bufio implements buffered I/O.
- Package runtime/pprof writes runtime profiling data in the format expected by the pprof visualization tool.
- Package net/http/pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
- Package expvar provides a standardized interface to public variables, such as operation counters in servers.
- Package flag implements command-line flag parsing.
- Package log implements a simple logging package.
- Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
- Package os provides a platform-independent interface to operating system functionality.
- Package path/filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
- Package database/sql provides a generic interface around SQL (or SQL-like) databases.
- Watch Go and the Google Cloud Platform
- Read Go on App Engine: tools, tests, and concurrency
- Read Deploying Go servers with Docker
- Search packages for Google Cloud or gcloud
- Search packages for App Engine or GAE
- Package goamz enables Go programs to interact with the Amazon Web Services.
- Search packages for AWS or amazon services
- Microsoft OpenTech's azure-sdk-for-go provides a Golang package that makes it easy to consume and manage Microsoft Azure Services.
- Search packages for Azure