Instead of gui program, "go-program + systray + web-console" might be a interesting choise.
Mac: avalid
Win: avalid
Linux: coming soon
Mac:
cd example
go run icons/mac systray
Win:
[your code in go] -> [systray: win32 api call in go]
Mac:
[your code in go] -> [systray.Server in go] -(tcp)-> [systray.Client in objc]
Linux:
[your code in go] -> [systray.Server in go] -(tcp)-> [systray.Client in c]