Package dlopen provides some convenience functions to dlopen a library and get its symbols.
LibHandle represents an open handle to a library (.so)
GetHandle tries to get a handle to a library (.so), attempting to access it by the names specified in libs and returning the first that is successfully opened. Callers are responsible for closing the handler. If no library can be successfully opened, an error is returned.
Close closes a LibHandle.
GetSymbolPointer takes a symbol name and returns a pointer to the symbol.