> For the complete documentation index, see [llms.txt](https://yingshaoxo.gitbook.io/go-tutorial-for-pythoner/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yingshaoxo.gitbook.io/go-tutorial-for-pythoner/features-of-go.md).

# Features of Go

1. If you import a package or declare a variable, then haven't used it on your program, an error will be caused.&#x20;
2. They call threading processing `Goroutines`. It's super easy to use, read more about it: <https://pragmacoders.com/blog/multithreading-in-go-a-tutorial>
3. There has no such a thing called `named arguments` in the function definition.
4. There has no such a thing called `private field (or arguments)` for a `struct (or class)` . If you need a struct that has a lot of private variables inside of that struct (or class), you need to return a point of a new struct.
5. If you don't give a point of a struct to your struct function, you won't be able to use it as a normal class as you would do in other programming languages. (Because you can't really change the in-class variable in that case)
6. There is no such a thing called `default arguments` in the function definition or struct definition.
