Один проект (только для Windows и Mac) кажется приближающимся к тому, что вы хотите: atotto/clipboard
.
Предоставить копирование и вставку в буфер обмена для Go.
func ReadAll() (string, error)
func WriteAll(text string) error
поддержка Linux в этом классе clipboard_linux.go: простая обертка для xsel --output/input --clipboard
системной команды.
Другой подход: попытаться воспользоваться сторонними библиотеками, как GLFW:
бесплатно, с открытым исходным кодом, мульти-платформенной библиотеки для открытия окна, создавая контекст OpenGL и управление вход
Его оболочка Go glfw3
действительно содержит файл clipboard.go
с предположительно многоплатформенными методами.
func (w *Window) SetClipboardString(str string)
func (w *Window) GetClipboardString() (string, error)
Но это было бы в контексте окон GLFW, а не в любом окне оболочки, конечно.
Я боюсь, что нет никакого агностического решения платформы, обернутого так же аккуратно, как в стандартной библиотеке Java. Вы можете использовать несколько инструментов для платформы, таких как 'xsel' под X,' pbcopy'/'pbaste' под OSX и' pclip.exe' под Windows. – 9000
Нет такой вещи, как платформенный агностический буфер обмена. Вы могли бы написать что-то, что будет работать на большинстве основных платформ. – Cubic