在我的Go语言命令行应用程序中,我需要能够使用Go将某些文本片段复制到系统剪贴板。基本上类似于PyperClip,但适用于Go。
我正在寻找与平台无关的解决方案!任何帮助将是巨大的:)
一个项目(仅适用于Windows和Mac)似乎正在接近您想要的:atotto/clipboard。
atotto/clipboard
提供复制和粘贴到剪贴板的Go。
func ReadAll() (string, error) func WriteAll(text string) error
剪贴板_linux.go类中提供Linux支持:xsel --output/input --clipboard系统命令的简单包装。
xsel --output/input --clipboard
另一种方法:尝试利用第三方库,例如GLFW:
一个免费的,开源的,多平台的库,用于打开窗口,创建OpenGL上下文和管理输入
它的Go包装器glfw3确实提供了一个clipboard.go带有多平台方法的文件。
glfw3
clipboard.go
func (w *Window) SetClipboardString(str string) func (w *Window) GetClipboardString() (string, error)
但这将是在GLFW窗口的上下文中,当然不是任何shell窗口。