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

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: 4 months 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

### Modules and Packages 📦

- 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/)