New to Golang world

Recently graduated and first project assigned in Go. I have few questions which I want to clarify.

  1. Is cgo a C parser for Go lang?
  2. Does Go have any setuptools like python3-setuptools
  3. Does it have packages like libgnutls28/libboost/passlib?

I have not yet started with coding and trying to understand the basic functions that Go supports.

Thanks

It might include a C parser, but it isn’t just a C parser. More importantly, it’s infrastructure within the Go compiler to handle calling C code from Go and vice-versa. The Go compiler knows about the C pseudo-package and wraps calls to C functions to make it look almost seamless in the source code even though there’s a lot of “magic” going on to make that happen.

I can’t tell what this is, so I’m not sure.

  • libgnutls28 seems to be a TLS library. I’m not sure if there’s anything this package does that’s special but Go does have its own net package that works with TLS.
  • libboost seems to be the C++ Boost library. I’m not sure what you need it for, but you could use cgo to wrap functionality you need if you can’t find the same functionality in a Go package somewhere.
  • passlib seems to be for hashing passwords. It looks like there are some libraries like https://pkg.go.dev/golang.org/x/crypto/pbkdf2 and/or https://pkg.go.dev/golang.org/x/crypto/bcrypt.
1 Like

If I understand python3-setuptools correctly, it is about embedding static files and accessing it within code.
So google for “golang emebed static files”.

There are also plans by the Go team to make embedding files language native, but for now you could use something like https://github.com/gobuffalo/packr.

1 Like

Thank you. This is was useful for beginners like me. The real challenge starts once I start the coding.

Thank you for the information and once the coding starts, I will get to see more challenges and learnings on go.

@robinbraemer

I found this too https://pypi.org/project/setuptools-golang/

pip install setuptools-golang

What is your suggestion ?

I can’t suggest anything I’m not into python, but keep it up!

Be very careful about add-ons and extra tools. Go has a comprehensive Standard Library that enable one to build pretty much any type of application without resorting to add-ons, third party code and or frameworks.

Before installing something that appears to help you, dig into the Standard Library first so see if you can solve the problem, then move slowly outward in the go eco-system to find go-like tools that help. Just banging a library in that looks like Python, or Java or C obviates the point of using Go

Whilst this is a personal opinion i often find that instead of solving the problem using Go, helpful devs will build a solution that looks like another language they are familiar with to circumvent Go rather than go (no pun intended) with the grain of the language. This is also the case with development of the language where we now have the “Generics” camp trying to make Go look like Java & C++ etc. (Gawd help us).

1 Like
  1. Is cgo a C parser for Go lang?

No, it enables you to call C from Go.

  1. Does Go have any setuptools like python3-setuptools

You don’t need it. go build will download all the dependencies you need.

  1. Does it have packages like libgnutls28/libboost/passlib?

libgnutls28 -> crypto/tls
libboost - no, because we don’t have generics yet
passlib - use golang.org/x/crypto/bcrypt

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.