├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Pete Schmitt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # learn-golang 2 | 3 | Ordered list of resrouces I used to learn golang while writing a REST web service for work. 4 | 5 | 1. The Go Programming Language](http://www.gopl.io/) 6 | - [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism) 7 | - How to structure your Go applications: 8 | - [Structuring Applications in Go](https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091?source=user_profile---------2-) 9 | - [Structuring Applications for Growth](http://go-talks.appspot.com/github.com/benbjohnson/structuring-applications-for-growth/main.slide#1) - subtle way to use method expressions (interface type & struct with func members) to help create test doubles/mocks. 10 | - [Structuring Tests in Go](https://medium.com/@benbjohnson/structuring-tests-in-go-46ddee7a25c?source=user_profile---------1-) 11 | - [WTF Dial](https://medium.com/@benbjohnson/wtf-dial-domain-model-9655cd523182?source=user_profile---------6-) - an application that demonstrates Ben Johnson's design philosophy ([github repo](https://github.com/benbjohnson/wtf)) 12 | - [Advanced Testing with Go](https://www.youtube.com/watch?v=yszygk1cpEc) - Mitchell Hashimoto 13 | - [Go database/sql tutorial](http://go-database-sql.org/) 14 | - [JSON, interfaces, and go generate](https://talks.golang.org/2015/json.slide) - Francesc Campoy 15 | - [10 things you (probably) don't know about Go](https://talks.golang.org/2012/10things.slide) - Andrew Gerrand 16 | - [Go best practices, six years in](https://peter.bourgon.org/go-best-practices-2016/) - Peter Bourgon 17 | - [Ben Johnson's Medium series](medium.com/@benbjohnson) - walkthroughs to help you understand the standard library better. 18 | --------------------------------------------------------------------------------