I don't know what it is about golang, but man, it's hard unless you just start up a WSL and install it on there.
I don't know what it is about golang, but man, it's hard unless you just start up a WSL and install it on there.
This is a pretty common issue to run into with developer tooling on Windows, regardless of the language.
It would be nice if the go installer added its install dir to the PATH automatically like some tools do. But so much dev tooling on Windows does not you will need to know how to edit your PATH eventually.
When was this? Within the last two years? When Go was transitioning from the original GOPATH style setup to modules, I had a ton of issues like this. So many, that I kept my Go version on an earlier build so I didn't have to deal with it.
These days, thankfully, all those issues are taken care of. I've mostly switched to cross compiling from WSL(2), but compiling on Windows has been fine for a number of versions now.
There are pointers without pointer arithmetic, I really don't know why they are there. If you already know programming you will be fine with go, but if it's the first language someone learns I think they'll go catatonic when they are exposed to real pointers, dealing with shared memory, package management, generics, etc. because its going to be hard unlearning ways used in go.
On the plus side go is small and very performanent.
Because you need some way to distinguish between having a sequence of bytes in the middle of another sequence of bytes and having the former sequence of bytes somewhere else, at least in languages that allows both for any data type. For example, Java doesn't suffer from this since everything is pointers implicitly. And C# doesn't either because every type belongs to one of two kinds, the first kind corresponding to the former of the two cases above and the second kind corresponding to the latter. But Go doesn't have this luxury (intentionally, for the same reason as C does it).
Honestly, what's so technical about adding:
export PATH=/usr/local/go/bin:$PATH
... to your ~/.bashrc ? Beyond that there's nothing more required other than, per project: mkdir myapp && cd myapp && go mod init myapp
Maybe you're thinking of setup prior to the introduction of Go modules?Oh boy, you don't tutor many beginners in programming do you?