Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lukaofirst/learning-golang

This repository contains all my practices and lessons about Go programming language
https://github.com/lukaofirst/learning-golang

concurrency gin gin-gonic go gochannels golang gorestapi goroutines gostruct

Last synced: 3 days ago
JSON representation

This repository contains all my practices and lessons about Go programming language

Awesome Lists containing this project

README

        


Learning Go


This repository provides examples and exercises with the Go programming language

- **Main Topics Learned**

- **Go Essentials**

- Declaring variables
- Value types
- Outputting values
- Constant values
- User input
- Formatting strings
- Returning values
- Loops
- Working with files
- Handling errors

- **Module and Packages**

- It demonstrates the use of packages and modules in Go

- **Pointers**

- Creating a pointer
- Pointer's null value

- **Structs**

- What are structs
- Creating a struct
- Handling embedded structs
- Struct tags

- **Interfaces and Generics**

- Creating and implementing an interface
- Creating a generic method
- Getting a type of an any type

- **Arrays, Slices, and Maps**

- Array's slices
- The `make()` function
- Maps
- Type aliases for longer maps

- **Functions**

- Function as values
- Anonymous function
- Variadic function
- Splitting slices into parameters values

- **Concurrency**

- How to defer code execution (the `defer` keyword)
- Goroutines and Channels
- Handling channels

- **Working with JSON**

- How to serialize a JSON (Go struct to JSON string)
- How to deserialize a JSON (JSON string into Go struct)

- **Working with dates**

- Get current time
- Get current time as UTC
- Format current time UTC to string UTC format
- Adding hours, minutes, and seconds
- Converting date string into date

- **REST API**

- A RESTful API built with the Gin framework, demonstrating CRUD operations, user authentication, and database interactions using SQLite.

- **Notes**

- This repo was made following the course: [Go - The Complete Guide](https://www.udemy.com/course/go-the-complete-guide/)