Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avicennajr/golang-learning
Documenting Our Journey on Learning Go
https://github.com/avicennajr/golang-learning
Last synced: about 4 hours ago
JSON representation
Documenting Our Journey on Learning Go
- Host: GitHub
- URL: https://github.com/avicennajr/golang-learning
- Owner: AvicennaJr
- Created: 2022-10-06T09:41:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-29T09:27:53.000Z (about 2 years ago)
- Last Synced: 2024-05-17T00:26:05.185Z (6 months ago)
- Language: Go
- Size: 11.8 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Golang Learning Guide RoadMap
I divided the learning into six sections. Each section is divided into a number
of units. Each unit should be completed in a day.## Section One: Basics
### Unit 1: Hello Go
- [ ] Learn how to Install, create your first hello.go program and know
how to run it.### Unit 2: Data Types
- [ ] Data types in Go### Unit 3: Conditionals
- [ ] If Statements
- [ ] Switches### Unit 4: Loops
- [ ] For Loops### Unit 5: Functions
- [ ] Defining Functions
- [ ] Anonymous Functions### Understanding what you learnt
We'll be required to create a few simple projects that will confirm our
learning so far.## Section Two: Data Structures
### Unit 6: Arrays and Slices
- [ ] Learn how to define arrays
- [ ] Slicing and Ranging arrays### Unit 7: Structs
- [ ] Creating Structs
- [ ] Copying a Struct
- [ ] Methods in Structs
- [ ] Comparing Structs### Unit 8: Maps
- [ ] Creating Maps
- [ ] Using Structs and Maps### Unit 9: Using JSON
- [ ] Decoding JSON
- [ ] Encoding JSON### Unit 10: Interfaces
- [ ] Working with Interfaces
- [ ] How to use them## Section Three: Multitasking
### Unit 11: Goroutines
- [ ] Understanding Goroutines
- [ ] Using Goroutines with shared resources
- [ ] Synchronizing Goroutines### Unit 12: Communicating Goroutines with Channels
- [ ] Understanding Channels
- [ ] Iterating through channels
- [ ] Asynchronously waiting on channels
- [ ] Using buffered channels## Section Four: Organizing Code
### Unit 13: Using and Creating packages in Go
- [ ] Working with Packages
- [ ] Using third party Packages### Unit 14: Grouping packages into Modules
- [ ] Creating a module
- [ ] Testing and Building a module
- [ ] Publishing a module on github# Extras
The following Units are not mandatory but will be good for practice
## Section Five: Go in Action
### Unit 15: Consuming Web APIs
- [ ] Fetching data from Web services
### Unit 16: Serving REST APIs
- [ ] Building web services using REST APIs
- [ ] Creating a REST API in Go### Unit 17: Working with Databases
- [ ] Connecting to a Database with Go
## Resources:
* Go Programming Language for Dummies
* [Golang Tour Guide](https://go.dev/tour)
* [Exercism for practice exercises](https://exercism.org/tracks/go/exercises)