Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saheemshafi/golang-from-the-basics
This repository was made to get familiar with basic syntax and mental model of Go programming language.
https://github.com/saheemshafi/golang-from-the-basics
go golang golang-examples learn learngolang
Last synced: about 2 months ago
JSON representation
This repository was made to get familiar with basic syntax and mental model of Go programming language.
- Host: GitHub
- URL: https://github.com/saheemshafi/golang-from-the-basics
- Owner: saheemshafi
- Created: 2024-02-29T19:35:42.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-03-09T21:44:01.000Z (10 months ago)
- Last Synced: 2024-10-13T14:09:24.425Z (3 months ago)
- Topics: go, golang, golang-examples, learn, learngolang
- Language: Go
- Homepage:
- Size: 63.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Golang from the basics
### What the go is?
Go is concise, clean and effiecient programming language by Google.### A Go Program
The entrypoint of a Go program is `main` package.### `GOPATH`, What's that?
`GOPATH` is the environment variable that defines the root of the workspace.#### Where is the default `GOPATH`?
___
| Windows | Unix |
|-------------------- |------------ |
| `%USERPROFILE%/go` | `$HOME/go` |
___### Types
- Almost everything in `Go` is a Type.
- They are almost case insensitive.
- The types of variables should be known in advance.### The Ladder
1. [The starting - `Hello World`](/01hello/main.go)
2. [The `Type` and variables](/02variables/main.go)
3. [Inputs, conversions and parsing](/03input-and-parsing/main.go)
4. [Time and Dates](/04time-and-dates/main.go)
5. [Building `Go` project into different os binaries](/05building-for-os/main.go)
6. [Memory management](/06memory-management/main.go)
7. [Pointers in `Go`](/07pointers/main.go)
8. [Arrays](/08arrays/main.go)
9. [Slices](09slices-in-go/main.go)
10. [Key value pairs - `Maps`](10maps-in-go/main.go)
11. [Structs](11structs-in-go/main.go)
12. [Conditionals](12conditionals/main.go)
13. [Switch case](13switch-case/main.go)
14. [Loops](14loops/main.go)
15. [Functions](15functions/main.go)
16. [Attaching methods to structs](16methods/main.go)
17. [`defer` keyword](17defer/main.go)
18. [File system](18file-system/main.go)
19. [Http requests](19http-requests/main.go)
20. [URL](20url/main.go)
21. [More about `HTTP` requests](21more-about-http-requests/main.go)
22. [`JSON` - Javascript Object Notation](22JSON/main.go)
23. [Consuming `JSON`](23consuming-json/main.go)
24. [**(Important)** - *Modules* in Golang](24modules/README.md)
25. [A Simple In Memory Reset API](25simple-in-memory-rest-api/main.go)
26. [Go Routines](26go-routines/main.go)
27. [Wait Groups](27wait-groups/main.go)
28. [`Mutex` and `RWMutex`](28mutex-and-rw-mutex/main.go)
28. [Communication between go routines](29channels/main.go)