# go-internals

`go-internals` is a work-in-progress book about the internals of the Go (1.10+) programming language.

## Table of Contents

* [Chapter I: A Primer on Go Assembly](https://cmc.gitbook.io/go-internals/chapter-i-go-assembly)
* [Chapter II: Interfaces](https://cmc.gitbook.io/go-internals/chapter-ii-interfaces)
* [Chapter III (soon!): The Garbage Collector](https://cmc.gitbook.io/go-internals/chapter-iii-garbage-collector)

*Click* [*here*](https://cmc.gitbook.io/go-internals/) *for the GitBook version.*

## Goals

* **Concise**: The book aims to be as concise as possible, encouraging code and diagrams over lengthy prose.
* **Community-effort**: I myself am learning as I go through the writing of this book. I *will* make mistakes along the way. Hopefully the community can help in pointing out and correcting these mistakes.
* **Beyond the theory**: The book will not just cover the theory, but the actual implementation too. Assumptions will be proven or invalidated via experiments and measurements.
* **Up-to-Date**: The book will try to keep up-to-date with new Go versions being released.
* **Experienced audience**: The Go community has created *loads* of great introductory material for newcomers. Unfortunately we're still lacking good resources when it comes to the more advanced stuff. This books hopes to help solve this issue.

## Contributing

All kinds of contributions are very much welcome.

Don't hesitate to open an issue for e.g...:

* pointing out technical or english mistakes
* suggesting improvements and/or additions to existing chapters
* suggesting external links that might be of interest
* ..and pretty much anything else you can think of, really!

## Author

Clement Rey [\<cr.rey.clement@gmail.com](mailto:<cr.rey.clement@gmail.com)> ([@teh\_cmc](https://twitter.com/teh_cmc))

## License

Licensed under the [BY-NC-SA Creative Commons 4.0 International Public License](http://creativecommons.org/licenses/by-nc-sa/4.0/)
