My experience with cgo has been less than stellar. I built a simple Fiber API with 2 Golang libs (gosweph and swephgo) which interface with the Swiss Ephemeris C library. Both libraries segfaulted when the API was loaded with more than a couple of concurrent connections via wrk or k6. I'm no C expert but the errors pointed to cgo as the culprit.