|
| 1 | ++++ |
| 2 | +title = 'Pre-requisites for "Learn Go with tests"' |
| 3 | +description = "" |
| 4 | +categories = ["Projects", "Learning","Learn Go with tests"] |
| 5 | +tags = ["Go","Beginners",] |
| 6 | +date = 2024-10-25T02:15:37Z |
| 7 | +math = false |
| 8 | +draft = false |
| 9 | ++++ |
| 10 | +## Introduction |
| 11 | + |
| 12 | +Golang is a pretty easy, simple and boring language. |
| 13 | +Easy to learn, simple to build applications and boring to prevent procrastination with complex OOP concepts. |
| 14 | +Yes, Golang doesn't have object oriented programming. |
| 15 | +It wants to be a modern "C" like language. |
| 16 | +While scavenging where to learn Go from, I came across [**Learn Go with Test**](https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/hello-world) |
| 17 | +which fits all of the basics of Go as well as testing (essential for building reliable applications). |
| 18 | + |
| 19 | +## Pre-requisites for "Learn Go with tests" |
| 20 | + |
| 21 | +1. **Basic Programming Knowledge** |
| 22 | +You should be comfortable with foundational concepts like: |
| 23 | +- Variables |
| 24 | +- Constants |
| 25 | +- Data types |
| 26 | +- Conditionals (such as: `If Else`, `Switch Case`) |
| 27 | +- Loops ( such as `For` loops) |
| 28 | +- Functions |
| 29 | + |
| 30 | +2. Familiarity with Go's syntax. |
| 31 | +You should already know how Go code looks like and some of the common rules. |
| 32 | +This is to ensure that you're not surprised by seeing this, |
| 33 | +```go |
| 34 | +func someFunction(someArgs string)(returnsSomeInteger int){ |
| 35 | + //does something |
| 36 | + return |
| 37 | +} |
| 38 | +``` |
| 39 | + |
| 40 | +3. Experience with Go's command line tools |
| 41 | +Go is very [command line](/content/posts/Operating-Systems/User-Interfaces/cli-vs-tui-vs-gui.md) friendly! |
| 42 | +You should know the basics of using commands like `go run`,`go build`,`go test` to run, compile and test your code. |
| 43 | + |
| 44 | +4. Understanding of Go's modules and package system. |
| 45 | +Go organizes code into modules and packages. |
| 46 | +You don't need to be an expert but knowing how to create, import and use packages will make things much easier. |
| 47 | + |
| 48 | +5. Familiarity with a code editor. |
| 49 | +Whether you use Bloat(VS Code or any other IDE) or vim etc, it's helpful to be comfortable with basic code editing. |
| 50 | +And installing the right plugins for Go to make writing and testing code smoother. |
0 commit comments