It is possible to sort of have a dynamic import if you use cgo to access libdl for the dlopen/dlsym function calls. Then you need to use FFI, or some such library to make calls to those C-function pointers that dlsym provides you. This will allow you to at runtime attempt to access a shared library, and gracefully degrade if the access fails. A while ago I build an incomplete package to do so
https://github.com/cookieo9/goffi, I haven't updated it in a while...
Some problems you'll run into include that you don't have access to headers or macros, so some libraries that use macros as part of their functionality will not work, and you will have to "hard code" constants into your source which can cause portability issues down the road. Also, I've never tested it on windows, but I assume it won't work anyway, as neither libdl, nor readline are available natively there.
Also it will be slower as there will be a large overhead on each call, not that big a deal for readline though...