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

Overview

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/
Issues
  • 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!

    opened by sanchezcl 2
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

Yury Fedorov 845 Jun 26, 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.

Wesovi Labs 42 Jun 18, 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

Daniel Churm 0 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

Markus Zimmermann 536 Jun 22, 2022
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

Charles Weill 4k Jun 23, 2022
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

SmartyStreets 7.3k Jun 28, 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

null 813 Jul 1, 2022
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

SmartyStreets 7.3k Jun 25, 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

Martin Murphy 0 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

Aurèle Oulès 67 Jun 8, 2022
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

Qiniu Cloud 535 Jul 1, 2022
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

null 27 Oct 12, 2021
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

Go 7.6k Jun 30, 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.

Juno Inc. 455 Jun 15, 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

Mathias Fredriksson 614 Jun 22, 2022
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

Andrew Wilkins 767 Jun 17, 2022
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

null 0 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 ⚙️ 🖥 💡

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

ZUP IT INNOVATION 548 Jun 22, 2022
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

Sergey Mudrik 226 May 19, 2022