Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
- The Little Go Book
- Exercism.io - Go - Online code exercises for Go for practice and mentorship.
- Learn Go in an Hour - Video 2015-02-15
- Learning to Program in Go, a multi-part video training class.
- Pluralsight Classes for Go - A growing collection of (paid) online classes.
- Ardan Labs Training - Commercial, live instruction for Go programming.
- O'Reilly Go Fundamentals - Video learning path for Go programming.
- Go By Example provides a series of annotated code snippets.
- Learn Go in Y minutes is a top-to-bottom walk-through of the language.
- Workshop-Go - Startup Slam Go Workshop - examples and slides.
- Go Fragments - A collection of annotated Go code examples.
- 50 Shades of Go: Traps, Gotchas, Common Mistakes for New Golang Devs
- Free Go Language Workshop Framework Training is running regular free BYOD workshops in London, UK
- GoingGo.net - A collection of videos and articles for learning Go.
- Golang Tutorials - A free online class.
- Rob Pike's 2011 three day course - Day 1, Day 2, Day 3 (links are broken, use the archived links from the wayback machine. Day 1, Day 2, Day 3)
- The Go Bridge Foundry - A member of the Bridge Foundry family, offering a complete set of free Go training materials with the goal of bringing Go to under-served communities.
- Golangbot - Tutorials to get started with programming in Go.
- Master Go - A paid online video course on Go for developers
- Learn to Create Web Applications using Go - A paid online video course and book about Web programming with Go
- Learn Go Programming - Weekly visual and concise tutorials for programming in Go.
- Gophercises - coding exercises for budding gophers
- Crowdsourced List Of Golang Tutorials - Golang tutorials crowd sourced by programmers.
Learning resources for specific topics:
- LearnConcurrency outlines a course of study of Go's concurrency model and patterns.
- LearnErrorHandling links to resources about error handling in Go.
- LearnTesting links to resources about testing in Go.
- LearnServerProgramming links to resources about server programming in Go.
- Hackr.io Golang Tutorials - Best Golang tutorials recommended by the programming community.
Further reading:
- Newspaper is a topic based newsfeed for slack. Built on Go
Implementing new File/Directory Structure
- Try to keep things as modular as possible, the new file/directory structure should be:
/DataStructures/file
ex: /DataStructures/Stack.go
/algorithms/algorithm/file
ex: /algorithms/bubble_sort/bubble_sort.go
- Fork Repo on Web Page
git clone https://github.com/{your-username}/Algorithms
- Code your files in the proper directory based on the instructions above
- add all your files
git add your/directory/path/to/file/
(see new directory structure above) - commit your file changes
git commit -m "Whatever you did here, e.g. created Stack"
- push your changes
git push
- Create a Pull Request to master on Web Page
- Fork Repo on Web Page
- Make your changes to your forked repo
- Make Pull Request to master
Go is the work of hundreds of contributors. We appreciate your help! To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html