An open API service indexing awesome lists of open source software.

https://github.com/whalelogic/howtogo

Your Go resource for the latest references, idiomatic code examples, and cloud-native patterns for the next generation of Go.
https://github.com/whalelogic/howtogo

2026 examples-go go go-new go-packages golang guides learn-to-code patterns reference snippets standard-library stdlib website

Last synced: 4 months ago
JSON representation

Your Go resource for the latest references, idiomatic code examples, and cloud-native patterns for the next generation of Go.

Awesome Lists containing this project

README

          

image

# How To Go

[![Go Version](https://img.shields.io/badge/go-1.24+-00ADD8?style=flat&logo=go)]()
[![Build Status](https://img.shields.io/badge/build-passing-brightgreen?style=flat)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)]()
[![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)]()

How To Go is a hands-on learning resource for the Go programming language. Inspired by Go By Example, this repository provides concise, runnable Go examples that teach real concepts through real code.

Purpose: remove friction from learning. Every example must be runnable, simple, and focused.

---

## Quick Links

- Website (WIP): https://howtogo.dev
- Examples Folder: `/examples`
- Documentation: `/docs`
- Issues / Feature Requests: https://github.com//how-to-go/issues

---

## Why This Project Exists

Modern developers learn by doing. Books, docs, and tutorials are useful but rarely designed for the fastest path to operational fluency. How To Go solves that by:

- Teaching concepts through runnable code
- Eliminating noise and academic filler
- Providing real-world examples and patterns
- Increasing depth over time with iteration

How To Go is not a rewrite of the Go spec or standard documentation; it is a bridge between theory and practice.

---

## Target Audience

- Developers new to Go
- Experienced programmers switching languages
- Cloud & systems engineers expanding skillsets
- People who want reference examples, fast

---

## Core Principles

1. **Minimal Complexity**
Examples are small, targeted, and easy to run.

2. **Direct Utility**
Every example must demonstrate value.

3. **Progressive Depth**
Beginners start simple. Experts dig deeper.

4. **Real Code Only**
No pseudocode. No placeholders. No theory without proof.

---

## Project Status

Actively developed. New examples added continuously.
Goal: 300+ runnable examples across all major topics.

---

## Quick Start

### Install Go

https://go.dev/dl/

### Dev tools
```templ generate --watch --proxy="http://localhost:8080" --cmd="go run ."```

## To Run the app locally:

```go
go run .
```
Starts the server on `localhost:8080`

Verify Go Setup
```
go version
go env
go work (workspace tool)
```

## Screenshots




## Official Site

The official howtogo.dev site is under development but available at:

`https://howtogo.dev`

HowtoGo.dev uses the following technologies:
- Go (Golang)
- HTML/CSS/JavaScript
- Templ (for static site generation)
- Caddy HTTPS server
- GitHub Pages (for hosting)

### Caddy
Caddy is written in Go and uses:

- Non-blocking I/O
- Efficient connection reuse
- HTTP/2 and HTTP/3 (QUIC) support
- Automatic HTTPS with Let's Encrypt
- Revserse proxy capabilities
- Secure by default configurations

Caddy is ideal for serving Go applications due to its performance, security features, and ease of use. Because howtogo.dev doesn't contain hundreds of pages, Caddy's lightweight footprint and fast startup times make it a perfect fit for hosting the site efficiently.

## Contributing

Contributions welcome! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) guide for details on how to contribute.

## Author

Created by Keith. Dedicated to learning, programming, and cloud-native systems 😄.

---

## License

MIT