A Master list of Go Programming Tutorials, their write-ups, their source code and their current build status!


TutorialEdge

TutorialEdge

build status

TutorialEdge.net Go Tutorials πŸ‘©β€πŸ’» πŸ‘¨β€πŸ’»

Welcome to the TutorialEdge Go Repository!

The goal of this repo is to be able to keep track of all the Go tutorials and their respective github repo locations and build statuses. These will be updated and run with the latest versions of Go as and when they are released.

Table of Contents

Beginners Tutorials

These tutorials are aimed at newcomers to the language looking to improve their fundamental understanding of how things work in Go!

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Getting Started with Go Read Tutorial TutorialEdge/getting-started-with-go Travis-CI Status N/A
02 - Go Basic Types Tutorial Read Tutorial TutorialEdge/go-basic-types-tutorial Travis-CI Status N/A
03 - Go Composite Types Tutorial Read Tutorial TutorialEdge/go-complex-types-tutorial Travis-CI Status N/A
04 - Go Functions Tutorial Read Tutorial TutorialEdge/go-functions-tutorial Travis-CI Status 27th March, 2019
05 - Go Interfaces Tutorial Read Tutorial TutorialEdge/go-interfaces-tutorial Travis-CI Status N/A
06 - The Go Init Function Read Tutorial N/A N/A N/A
07 - Building a Web Server in Go Read Tutorial N/A N/A N/A
08 - Encryption and Decryption in Go using AES Read Tutorial N/A N/A N/A

Intermediate Tutorials

These are for the more experienced Go developer looking to take their Go application development to the next level and improve on existing knowledge of the language.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - An Intro to Testing in Go Read Tutorial TutorialEdge/an-intro-to-testing-in-go N/A 19th Jan, 2020
02 - Advanced Testing in Go Read Tutorial N/A N/A 19th Jan, 2020
03 - Improving your Go Tests with Mocks and Testify Read Tutorial N/A N/A 19th Jan, 2020
04 - Project Structure Best Practices Read Tutorial N/A N/A 19th Jan, 2020
05 - Building a Network CLI in Go Read Tutorial N/A N/A N/A

Advanced Tutorials

These are advanced tutorials designed to help introduce more concepts such as exposing WebSocket APIs or REST APIs and communicating with databases.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Go Websockets Tutorial Read Tutorial TutorialEdge/go-websockets-tutorial N/A 19th Jan, 2020
02 - Create REST API in Go Read Tutorial TutorialEdge/create-rest-api-in-go Travis-CI 11th May, 2019
03 - Go MySQL Tutorial Read Tutorial N/A N/A 19th Jan, 2020
04 - Go JWT Tutorial Read Tutorial TutorialEdge/go-docker-tutorial N/A 19th Jan, 2020
05 - Go OAuth2 Tutorial Read Tutorial TutorialEdge/go-docker-tutorial N/A 19th Jan, 2020
06 - Go gRPC Beginners Tutorials Read Tutorial TutorialEdge/go-grpc-tutorial N/A 9th May, 2020

DevOps

This section is devoted to tutorials primarily focused more on the developer operations aspect of Go development.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Go Docker Tutorial Read Tutorial TutorialEdge/go-docker-tutorial N/A 19th Jan, 2020
02 - Go Multi-Stage Docker Tutorial Read Tutorial N/A N/A 19th Jan, 2020
02 - Building a CI Pipeline for Your Go Projects Read Tutorial elliotforbes/go-ci-pipeline-example N/A 19th Jan, 2020
03 - Improving your Go Dev Workflow with Git Hooks Read Tutorial N/A N/A 19th Jan, 2020
04 - Working with Environment Variables in Go Read Tutorial N/A N/A 19th Jan, 2020
05 - Makefiles for Go Developers Read Tutorial N/A N/A 19th Jan, 2020

Projects

This section contains more complete Go applications and series that help you to see the bigger picture.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Go WebAssembly Tutorial Read Tutorial elliotforbes/go-webassembly-framework N/A 11th April, 2019
02 - Building a Chat Application in Go and React.js Read Tutorial TutorialEdge/realtime-chat-go-react N/A 11th April, 2019
03 - Building a Real-time YouTube Subscriber Monitor in Go Read Tutorial N/A N/A 11th April, 2019
04 - Building a REST API using GORM and Fiber Read Tutorial TutorialEdge/go-fiber-rest-api-tutorial N/A 26th April, 2020

Data Formats

Handy tutorials which are good references for when you want to work with data formats such as JSON, XML or Protocol Buffers.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Go JSON Tutorial Read Tutorial TutorialEdge/Go-JSON-Tutorial Travis Build Status 11th April, 2019
02 - Go XML Tutorial Read Tutorial TutorialEdge/go-xml-tutorial Travis-CI 11th May, 2019
03 - Go Protocol Buffer Tutorial Read Tutorial N/A N/A 19th Jan, 2020

Concurrency Tutorials

These are tutorials focused on teaching concurrency concepts to people looking to improve the performance of their Go applications.

Tutorial Title TutorialEdge Github Build Status Date Updated
01 - Go goroutine Tutorial Read Tutorial N/A M/A N/A
02 - Go Mutex Tutorial Read Tutorial N/A M/A N/A
03 - Go Channels Tutorial Read Tutorial N/A M/A N/A
04 - Go WaitGroup Tutorial Read Tutorial N/A M/A N/A

Challenges

A series of Go challenges designed to test your Go skills! 😎

  1. [TutorialEdge Go Challenges](https://tutorialedge.net/challenges/go/
Similar Resources

A Comprehensive Coverage Testing System for The Go Programming Language

A Comprehensive Coverage Testing System for The Go Programming Language

goc δΈ­ζ–‡ι‘΅ | goc is a comprehensive coverage testing system for The Go Programming Language, especially for some complex scenarios, like system testing c

Jan 8, 2023

Hamcrest matchers for the Go programming language

Note: This has not been maintained and/or updated since 2011. Perhaps consider corbym/gocrest, instead. Introduction Hamcrest is a fluent framework fo

Sep 27, 2022

GoMock is a mocking framework for the Go programming language.

gomock GoMock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing package, but can be used in other

Dec 28, 2022

Powerful mock generation tool for Go programming language

Summary Minimock generates mocks out of Go interface declarations. The main features of minimock are: It generates statically typed mocks and helpers.

Dec 17, 2022

Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language.

cdp Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. The bindings are generated

Jan 7, 2023

Coverage testing tool for The Go Programming Language

gocov Coverage reporting tool for The Go Programming Language Installation go get github.com/axw/gocov/gocov Usage There are currently four gocov comm

Jan 3, 2023

Assert to perform programming assertions

Cli EN README Assert para realizar las aserciones de programaciΓ³n. GoDoc godoc for github MenΓΊ Principal Se configura un menΓΊ con ese ejemplo como dis

Jan 13, 2022

Ritchie CLI is an open-source tool that allows to create, store and share any kind of automation, executing them through command lines, to run operations or start workflows βš™οΈ πŸ–₯ πŸ’‘

Ritchie CLI is an open-source tool that allows to create, store and share any kind of automation, executing them through command lines, to run operations or start workflows βš™οΈ πŸ–₯ πŸ’‘

Table of contents 1. About 2. Getting Started i. Installation ii. Initialize rit locally iii. Add your first formulas repository iv. Run the Hello Wor

Dec 29, 2022

go-carpet - show test coverage in terminal for Go source files

go-carpet - show test coverage in terminal for Go source files

go-carpet - show test coverage for Go source files To view the test coverage in the terminal, just run go-carpet. It works outside of the GOPATH direc

Jan 8, 2023
Comments
  • Broken link

    Broken link

    Hi, thanks for the awesome tutorials.

    I was following your tutorials and when i got to the advance section the first link for the "01 - Go Websockets Tutorial" "Read Tutorial" is broken (https://tutorialedge.net/golang/go-websockets-tutorial/)

    Thanks again, and keep going!

Test your code without writing mocks with ephemeral Docker containers πŸ“¦ Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code πŸ’»

Gnomock – tests without mocks ??️ Spin up entire dependency stack ?? Setup initial dependency state – easily! ?? Test against actual, close to product

Dec 29, 2022
A next-generation testing tool. Orion provides a powerful DSL to write and automate your acceptance tests

Orion is born to change the way we implement our acceptance tests. It takes advantage of HCL from Hashicorp t o provide a simple DSL to write the acceptance tests.

Aug 31, 2022
Wise-mars-rover - Write a program that takes in commands and moves one or more robots around the surface of Mars

wise-mars-rover Write a program that takes in commands and moves one or more rob

Feb 9, 2022
Mutation testing for Go source code

go-mutesting go-mutesting is a framework for performing mutation testing on Go source code. Its main purpose is to find source code, which is not cove

Dec 28, 2022
Automatically generate Go test boilerplate from your source code.
Automatically generate Go test boilerplate from your source code.

gotests gotests makes writing Go tests easy. It's a Golang commandline tool that generates table driven tests based on its target source files' functi

Jan 8, 2023
Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go.
Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go.

GoConvey is awesome Go testing Welcome to GoConvey, a yummy Go testing tool for gophers. Works with go test. Use it in the terminal or browser accordi

Dec 30, 2022
Ruby on Rails like test fixtures for Go. Write tests against a real database

testfixtures Warning: this package will wipe the database data before loading the fixtures! It is supposed to be used on a test database. Please, doub

Jan 8, 2023
Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go.
Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go.

GoConvey is awesome Go testing Welcome to GoConvey, a yummy Go testing tool for gophers. Works with go test. Use it in the terminal or browser accordi

Dec 30, 2022
Choose random items from a list

Random Choose a set of random items from a list Usage If a list of playing card names are stored in a file cards.txt, choose 5 at ramdom ./choose_item

Nov 26, 2021
Backpulse's core. Backpulse is an API Based CMS. Build you own website without worrying about the content administration system.

Backpulse core Backpulse is an API Based / Headless CMS. Your site's content is accessible directly via our RESTful API, on any web framework and any

Sep 11, 2022