Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/soypete/golang_tutorial_zero_to_hero

This is a tutorial, course, or walk through to teach first time developers how to use golang
https://github.com/soypete/golang_tutorial_zero_to_hero

first-project golang-examples teaching-tool tutorial-teaches-people

Last synced: about 1 month ago
JSON representation

This is a tutorial, course, or walk through to teach first time developers how to use golang

Awesome Lists containing this project

README

        

# GoLang tutorial for Beginners

**NOTE**: _This tutorial is written for people who have less that one year programming experience or even no experience whatsoever._

A question I get commonly asked as as a speaker and mentor is, _Are bootcamps worth it? Should I go to a bootcamp to start my career in tech?_ I have the hardest time answering that question. This truth is, all the material provided in software bootcamps is available online for free.

The reason behind this course is to provide that same free content, but for my favorite programming language [Go](https://golang.org/)

## What is Go?
I believe the simplicity and cleanliness of the Go programming language makes it suitable as a language for first time programmers.

Go is a programming language was developed at google in 2009. It was written to help replace some of the heavy and complex c++ infrastructure. Since then it has grown to a powerful tool for all types of programming.

### The Why of Go
Here is a great video by [Carmen Andoh]() about Go and why to use it.

[https://www.infoq.com/presentations/go-concurrency-gc/](https://www.infoq.com/presentations/go-concurrency-gc)
## [Part-1 Intro to Programming](/part_1/intro_to_programming.md)

### [1.1 Hello World](/part_1/1.1_hello_world.md)
### [1.2 Types](/part_1/1.3_type.md)
### [1.3 Functions](/part_1/1.2_functions.md)
### [1.4 Conditionals](/part_1/1.4_conditionals.md)
### [1.5 Loops](/part_1/1.5_loops.md)

## [Part-2 Using the Command Line](/part_2/using_command_line.md)

### [2.1 Bash](/part_2/2.1_bash.md)
### [2.2 Git](/part_2/2.2_git.md)
### [2.3 Install Go](/part_2/2.3_installing_go.md)
### [2.4 Pick Your IDE](/part_2/2.4_pick_your_IDE.md)

## [Part-3 Write a Go server](/part_3/write_a_go_server.md)

### [3.1 What is an API?](/part_3/3.1_api.md)
### [3.2 Chat server Example project](/part_3/chat_server_example.md)

## [Part-4 Dependencies](/part_4/dependencies.md)

### [4.1 Using Go Modules](/part_4/4.2_using_go_modules.md)
### [4.2 Using Opensource Libriares]

## [Part-5 Checking your Code](/part_5/checking_your_code.md)

### [5.1 Linters](part_5/5.1_linters.md)
### [5.2 Unit Tests](part_5/5.2_unit_tests.md)
### [5.3 Test Coverage](part_5/5.3_test_coverage.md)
### [5.4 Web Crawler Example](part_5/5.4_Web_crawler_example.md)

## [Part-6 Deploying a Service](part_6/deploying_a_service.md)

### [6.1 Docker](part_6/6.1_Docker.md)

## Extras (Coming Soon)
* Problem Solving
* Object Oriented Programming in Go
* Concurrency in Go

## Additional Resources
- [GolangBot](https://golangbot.com/learn-golang-series/)
- [Golang From Zero Video Series](https://www.youtube.com/watch?v=cIMko3vBM50&list=PL_QaflmEF2e8O4N3mwjFkul_BNpxgO9K_)