GO-SIMPLE
These are simple examples for useful daily use in your projects.
https://github.com/Gitart/GO-SIMPLE
Last synced: 4 days ago
JSON representation
-
π₯§ Browse Series: 52 articles
- 3/52 How To Install Go and Set Up a Local Programming Environment on macOS
- 4/52 How To Install Go and Set Up a Local Programming Environment on Windows 10
- 5/52 How To Write Your First Program in Go
- 6/52 Understanding the GOPATH
- 7/52 How To Write Comments in Go
- 8/52 Understanding Data Types in Go
- 38/52 How To Use Interfaces in Go
- 9/52 An Introduction to Working with Strings in Go
- 10/52 How To Format Strings in Go
- 11/52 An Introduction to the Strings Package in Go
- 12/52 How To Use Variables and Constants in Go
- 13/52 How To Convert Data Types in Go
- 14/52 How To Do Math in Go with Operators
- 15/52 Understanding Boolean Logic in Go
- 16/52 Understanding Maps in Go
- 17/52 Understanding Arrays and Slices in Go
- 18/52 Handling Errors in Go
- 19/52 Creating Custom Errors in Go
- 20/52 Handling Panics in Go
- 21/52 Importing Packages in Go
- 22/52 How To Write Packages in Go
- 23/52 Understanding Package Visibility in Go
- 24/52 How To Write Conditional Statements in Go
- 25/52 How To Write Switch Statements in Go
- 26/52 How To Construct For Loops in Go
- 27/52 Using Break and Continue Statements When Working with Loops in Go
- 28/52 How To Define and Call Functions in Go
- 29/52 How To Use Variadic Functions in Go
- 30/52 Understanding defer in Go
- 31/52 Understanding init in Go
- 32/52 Customizing Go Binaries with Build Tags
- 33/52 Understanding Pointers in Go
- 34/52 Defining Structs in Go
- 35/52 Defining Methods in Go
- 36/52 How To Build and Install Go Programs
- 37/52 How To Use Struct Tags in Go
- 40/52 Using ldflags to Set Version Information for Go Applications
- 41/52 How To Use the Flag Package in Go
- 42/52 How to Use Go Modules
- 43/52 How to Distribute Go Modules
- 44/52 How to Use a Private Go Module in Your Own Project
- 45/52 How To Run Multiple Functions Concurrently in Go
- 46/52 How to Add Extra Information to Errors in Go
- 47/52 How To Use Dates and Times in Go
- 48/52 How To Use Contexts in Go
- 49/52 How To Use JSON in Go
- 50/52 How To Make an HTTP Server in Go
- 51/52 How To Make HTTP Requests in Go
- 52/52 How To Use Generics in Go
- 39/52 Building Go Applications for Different Operating Systems and Architectures
- 33/52 Understanding Pointers in Go
- 1/52 How To Code in Go eBook
- 2/52 How To Install Go and Set Up a Local Programming Environment on Ubuntu 18.04
- hybridgroup/gobot - /info/GoPackage/github.com/hybridgroup/gobot/platforms/bebop/client/-/bool2int8) |
- streadway/amqp - /blob/read.go#L174-179) |
- vishvananda/netlink
- GoBelieveIO/im\_service
- zeromq/zproto
- istreamdata/orientgo - /blob/obinary/rw/reader.go#L124-129) |
- mitchellh/go-vnc - vnc/-/blob/client.go#L169-181) |
-
[README](https://github.com/VyacheslavGoryunov/remote-relay-gobot/tree/master/firmware/test#readme)
-
[](https://github.com/golang/go/wiki/CodeTools#code-formatting)Code Formatting
-
[](https://github.com/golang/go/wiki/CodeTools#articles)Articles
-
[](https://github.com/golang/go/wiki/CodeTools#tools)Tools
-
-
π Frameworks
- Inanc Gumus's Learn Go Programming Blog
- Go pattern
- Go wit test
- Go Traning
- A Huge Number of Go Examples, Exercises and Quizzes
- Epi
- Project layout
- 50 Shades of Go
- Go Bootcamp
- Go Resources
- Golang Code
- Learning Go tutorial
- Go
- Gopher Academy Blog
- Dave Cheney's Blog
- Dave Cheney's Resources for Go Programmers
- spf13's Blog
- Matt Aimonetti's Blog
- Carlos Becker's Blog
- Alex Edward's Go Posts
- Mathias Lafeldt's Blog
- Marcelo Magallon's Blog
- Mina Andrawos's Go Posts
- Johan Brandhorst's Blog
- Christoph Berger's Applied Go Blog
- Timo Savola's Go Posts
- Packt Hub
- Go Programming Language: An Introductory Golang Tutorial
- Master Go
- Ardan Labs
- Go Awesome
- Alex Edward's Go Posts
- GoLang Tutorials
- Marcelo Magallon's Blog
- Mina Andrawos's Go Posts
- Socket loop
- Jon Calhoun's Blog
- Inanc Gumus's Learn Go Programming Blog
- spf13's Blog
- Mat Ryer's Medium Blog
- Matt Aimonetti's Blog
- Marcio.io
- Carlos Becker's Blog
- Elliot Forbes - TutorialEdge.net Go Tutorials
- Timo Savola's Go Posts
- Packt Hub
- GoCenter Community Blog - Blogs from GoCenter.io about Go modules and community.
- Basic
- Go Web Examples
- 50 Shades of Go
- Go Bootcamp
- Go by Example
- Go Programming Language: An Introductory Golang Tutorial
- Golang tutorial for beginners
- Golang Tutorials
- Gophercises
- Learning Go
- Learning Go tutorial
- The official Go Blog - For in depth posts by the Go team
- Inanc Gumus's Learn Go Programming Blog
- Learning Go tutorial
- GoLang Tutorials
- Marcio.io
- Inanc Gumus's Learn Go Programming Blog
- Learning Go tutorial
-
**All Design Patterns in Golang**
-
**Structural Design Patterns**
-
**Creational Design Patterns**
-
**Behavioural Design Patterns**
-
-
**Data Structures in Golang**
-
π¬ Samples for learning
- http://guzalexander.com/2013/12/06/golang-channels-tutorial.html
- https://www.goinggo.net/2014/02/the-nature-of-channels-in-go.html
- https://www.golang-book.com/books/intro/10
- https://gobyexample.com/channels
- https://www.goinggo.net/2014/02/the-nature-of-channels-in-go.html
- Goroutines vs Green threads (Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π³ΠΎΡΡΡΡΠΈΠ½ ΠΈ Β«Π·Π΅Π»Π΅Π½ΡΡ Β» ΠΏΠΎΡΠΎΠΊΠΎΠ²)
-
[](https://github.com/golang/go/wiki/CodeTools#error-detection)Error Detection
-
[](https://github.com/golang/go/wiki/CodeTools#tools-2)Tools
- AlignCheck, StructCheck, VarCheck - A suite of tools for checking your code.
- go vet - Read this first on how to use the `go vet` command.
- errcheck - Ensure you check your error conditions.
- SafeSQL - Protect against unsafe SQL in your code.
-
[](https://github.com/golang/go/wiki/CodeTools#articles-2)Articles
- Go Inspection Tools - An overview of tools for Go code inspection.
-
-
[](https://github.com/golang/go/wiki/CodeTools#navigation)Navigation
-
[](https://github.com/golang/go/wiki/CodeTools#tools-2)Tools
- Go Guru - User Manual - A tool for understanding Go code.
- Pythia - A browser-based UI for Go Guru.
-
-
[](https://github.com/golang/go/wiki/CodeTools#visualization)Visualization
-
[](https://github.com/golang/go/wiki/CodeTools#tools-2)Tools
- godepgraph - A tool for generating dependency graphs of Go code.
-
-
π Course videos
-
[](https://github.com/techschool/simplebank#section-1-working-with-database-postgres)Section 1: Working with database \[Postgres\]
- Design DB schema and generate SQL code with dbdiagram.io
- Install & use Docker + Postgres + TablePlus to create DB schema
- How to write & run database migration in Golang
- Generate CRUD Golang code from SQL | Compare db/sql, gorm, sqlx & sqlc
- Write unit tests for database CRUD with random data in Golang
- A clean way to implement database transaction in Golang
- DB transaction lock & How to handle deadlock in Golang
- How to avoid deadlock in DB transaction? Queries order matters!
- Deeply understand transaction isolation levels & read phenomena in MySQL & PostgreSQL
- Setup Github Actions for Golang + Postgres to run automated tests
- Install & use Docker + Postgres + TablePlus to create DB schema
- How to write & run database migration in Golang
- Design DB schema and generate SQL code with dbdiagram.io
- Generate CRUD Golang code from SQL | Compare db/sql, gorm, sqlx & sqlc
- Write unit tests for database CRUD with random data in Golang
- A clean way to implement database transaction in Golang
- DB transaction lock & How to handle deadlock in Golang
- How to avoid deadlock in DB transaction? Queries order matters!
- Deeply understand transaction isolation levels & read phenomena in MySQL & PostgreSQL
- Setup Github Actions for Golang + Postgres to run automated tests
-
[](https://github.com/techschool/simplebank#section-2-building-restful-http-json-api-gin)Section 2: Building RESTful HTTP JSON API \[Gin\]
- Implement RESTful HTTP API in Go using Gin
- Load config from file & environment variables in Go with Viper
- Mock DB for testing HTTP API in Go and achieve 100% coverage
- Implement transfer money API with a custom params validator
- Add users table with unique & foreign key constraints in PostgreSQL
- How to handle DB errors in Golang correctly
- How to securely store passwords? Hash password in Go with Bcrypt!
- How to write stronger unit tests with a custom gomock matcher
- Why PASETO is better than JWT for token-based authentication?
- How to create and verify JWT & PASETO token in Golang
- Implement login user API that returns PASETO or JWT access token in Go
- Implement authentication middleware and authorization rules in Golang using Gin
- Implement RESTful HTTP API in Go using Gin
- Load config from file & environment variables in Go with Viper
- Mock DB for testing HTTP API in Go and achieve 100% coverage
- Implement transfer money API with a custom params validator
- Add users table with unique & foreign key constraints in PostgreSQL
- How to handle DB errors in Golang correctly
- How to securely store passwords? Hash password in Go with Bcrypt!
- How to write stronger unit tests with a custom gomock matcher
- Why PASETO is better than JWT for token-based authentication?
- How to create and verify JWT & PASETO token in Golang
- Implement login user API that returns PASETO or JWT access token in Go
- Implement authentication middleware and authorization rules in Golang using Gin
-
[](https://github.com/techschool/simplebank#section-3-deploying-the-application-to-production-kubernetes--aws)Section 3: Deploying the application to production \[Kubernetes + AWS\]
- Build a minimal Golang Docker image with a multistage Dockerfile
- How to use docker network to connect 2 stand-alone containers
- How to write docker-compose file and control service start-up orders with wait-for.sh
- How to create a free tier AWS account
- Auto build & push docker image to AWS ECR with Github Actions
- How to create a production DB on AWS RDS
- Store & retrieve production secrets with AWS secrets manager
- Kubernetes architecture & How to create an EKS cluster on AWS
- How to use kubectl & k9s to connect to a kubernetes cluster on AWS EKS
- How to deploy a web app to Kubernetes cluster on AWS EKS
- Register a domain name & set up A-record using Route53
- How to use Ingress to route traffics to different services in Kubernetes
- Automatic issue TLS certificates in Kubernetes with Let's Encrypt
- Automatic deploy to Kubernetes with Github Action
- Build a minimal Golang Docker image with a multistage Dockerfile
- How to use docker network to connect 2 stand-alone containers
- How to write docker-compose file and control service start-up orders with wait-for.sh
- How to create a free tier AWS account
- Auto build & push docker image to AWS ECR with Github Actions
- How to create a production DB on AWS RDS
- Store & retrieve production secrets with AWS secrets manager
- Kubernetes architecture & How to create an EKS cluster on AWS
- How to use kubectl & k9s to connect to a kubernetes cluster on AWS EKS
- How to deploy a web app to Kubernetes cluster on AWS EKS
- Register a domain name & set up A-record using Route53
- How to use Ingress to route traffics to different services in Kubernetes
- Automatic issue TLS certificates in Kubernetes with Let's Encrypt
- Automatic deploy to Kubernetes with Github Action
-
[](https://github.com/techschool/simplebank#section-4-advanced-backend-topics-grpc)Section 4: Advanced Backend Topics \[gRPC\]
- How to manage user session with refresh token - Golang
- Generate DB documentation page and schema SQL dump from DBML
- Introduction to gRPC
- Define gRPC API and generate Go code with protobuf
- How to run a golang gRPC server and call its API
- Implement gRPC API to create and login users in Go
- Write code once, serve both gRPC & HTTP requests
- How to extract info from gRPC metadata
- Automatic generate & serve Swagger docs from Go server
- Embed static frontend files inside Golang backend server's binary
- Validate gRPC parameters and send human/machine friendly response
- Run DB migrations directly inside Golang code
- Partial update DB record with SQLC nullable parameters
- Build gRPC update API with optional parameters
- Add authorization to protect gRPC API
- How to manage user session with refresh token - Golang
- Generate DB documentation page and schema SQL dump from DBML
- Introduction to gRPC
- Define gRPC API and generate Go code with protobuf
- How to run a golang gRPC server and call its API
- Implement gRPC API to create and login users in Go
- Write code once, serve both gRPC & HTTP requests
- How to extract info from gRPC metadata
- Automatic generate & serve Swagger docs from Go server
- Embed static frontend files inside Golang backend server's binary
- Validate gRPC parameters and send human/machine friendly response
- Run DB migrations directly inside Golang code
- Partial update DB record with SQLC nullable parameters
- Build gRPC update API with optional parameters
- Add authorization to protect gRPC API
-
-
[](https://github.com/techschool/simplebank#setup-local-development)Setup local development
-
[](https://github.com/techschool/simplebank#deploy-to-kubernetes-cluster)Deploy to kubernetes cluster
-
[](https://github.com/techschool/simplebank#how-to-run)How to run
-
-
ποΈ Req Expr
-
[](https://github.com/golang/go/wiki/CodeTools#refactoring)Refactoring
-
[](https://github.com/golang/go/wiki/CodeTools#articles-1)Articles
- gorename - easy refactoring
- Refactoring Tools - An overview of refactoring tools for Go.
- Quick renaming with gofmt
- Quick renaming with gofmt
-
[](https://github.com/golang/go/wiki/CodeTools#tools-1)Tools
-
-
**Golang Basic Tutorial**
-
**Error Handling**
-
**About**
-
**Basics**
-
**Loops/Iterations/Flow Control**
-
**More Types**
-
**Concurrency**
-
-
**Golang Advanced Tutorial**
-
**OOPS in Golang**
-
**Others**
-
-
β Advanced
-
β Table of Contents
-
-
π© Useful library
-
[](https://github.com/golang/go/wiki/CodeTools#all-in-one)All-in-one
- golangci-lint - Bundle of `gofmt`, `golint`, `govet` and many other tools that shares work between the different linters for better performance. Recommended by the original author to replace gometalinter (Drop-in replacement).
- gometalinter - Automates the installation, configuration and application of `gofmt`, `golint`, `govet` and several other code validation tools.
-
[](https://github.com/golang/go/wiki/CodeTools#code-generation-templating-and-generics)Code generation, Templating and Generics
-
[](https://github.com/golang/go/wiki/CodeTools#tools)Tools
- json-to-go - Generate Go structs from JSON.
- Go gen - Type-driven code generation (generics)
- gojson - Another Go struct generator.
- gotemplate - Package-based templating system for Go.
- sqlgen - Generate Go code for SQL interactions.
- zek - Generate Go struct from XML.
- apidocgen - Generate web apis markdown docs and mocks.
- Go gen - Type-driven code generation (generics)
-
Programming Languages
Categories
π Course videos
102
π Frameworks
65
π₯§ Browse Series: 52 articles
60
**Golang Basic Tutorial**
36
**All Design Patterns in Golang**
23
[](https://github.com/techschool/simplebank#setup-local-development)Setup local development
12
**Data Structures in Golang**
11
**Golang Advanced Tutorial**
10
[](https://github.com/golang/go/wiki/CodeTools#code-formatting)Code Formatting
8
[](https://github.com/golang/go/wiki/CodeTools#code-generation-templating-and-generics)Code generation, Templating and Generics
8
π¬ Samples for learning
6
[](https://github.com/golang/go/wiki/CodeTools#refactoring)Refactoring
6
[](https://github.com/golang/go/wiki/CodeTools#error-detection)Error Detection
5
π© Useful library
4
[](https://github.com/techschool/simplebank#deploy-to-kubernetes-cluster)Deploy to kubernetes cluster
3
[](https://github.com/golang/go/wiki/CodeTools#navigation)Navigation
2
[](https://github.com/golang/go/wiki/CodeTools#all-in-one)All-in-one
2
β Advanced
1
[](https://github.com/golang/go/wiki/CodeTools#visualization)Visualization
1
[README](https://github.com/VyacheslavGoryunov/remote-relay-gobot/tree/master/firmware/test#readme)
1
ποΈ Req Expr
1
Sub Categories
[](https://github.com/techschool/simplebank#section-4-advanced-backend-topics-grpc)Section 4: Advanced Backend Topics \[gRPC\]
30
[](https://github.com/techschool/simplebank#section-3-deploying-the-application-to-production-kubernetes--aws)Section 3: Deploying the application to production \[Kubernetes + AWS\]
28
[](https://github.com/techschool/simplebank#section-2-building-restful-http-json-api-gin)Section 2: Building RESTful HTTP JSON API \[Gin\]
24
[](https://github.com/techschool/simplebank#section-1-working-with-database-postgres)Section 1: Working with database \[Postgres\]
20
**Structural Design Patterns**
18
[](https://github.com/golang/go/wiki/CodeTools#tools)Tools
14
[](https://github.com/techschool/simplebank#install-tools)Install tools
11
**More Types**
11
**Behavioural Design Patterns**
10
**Basics**
8
[](https://github.com/golang/go/wiki/CodeTools#tools-2)Tools
7
**Loops/Iterations/Flow Control**
6
**Creational Design Patterns**
6
**Others**
6
**About**
4
**Concurrency**
4
[](https://github.com/golang/go/wiki/CodeTools#articles-1)Articles
4
**OOPS in Golang**
4
[](https://github.com/techschool/simplebank#how-to-run)How to run
3
**Error Handling**
3
[](https://github.com/golang/go/wiki/CodeTools#tools-1)Tools
2
[](https://github.com/golang/go/wiki/CodeTools#articles)Articles
2
[](https://github.com/golang/go/wiki/CodeTools#articles-2)Articles
1
[](https://github.com/techschool/simplebank#documentation)Documentation
1
β Table of Contents
1
Keywords
go
20
golang
13
linter
4
code-generation
2
patterns
2
idioms
2
design-patterns
2
awesome
2
bluetooth
1
beaglebone-black
1
bluetooth-le
1
drone
1
gpio
1
hardware
1
i2c
1
intel-edison
1
intel-joule
1
internet-of-things
1
iot
1
mqtt
1
raspberry-pi
1
robot
1
robotics
1
sphero
1
uav
1
language
1
programming-language
1
cli
1
go-generate
1
gojson
1
json
1
awesome-list
1
golang-library
1
design-patterns-for-humans
1
best-practices
1
course
1
exercise
1
exercises
1
golang-examples
1
idiomatic-go
1
learn-go
1
learn-to-code
1
learning-by-doing
1
learning-go
1
learning-golang
1
patterns-go
1
project
1
quizzes
1
tutorial
1
tdd
1