如何在Go中复制文本到/从剪贴板?

San*_*kar 5 python clipboard command-line go

在我的Go语言命令行应用程序中,我需要能够使用Go将某些文本片段复制到系统剪贴板.基本上像PyperClip,但Go.

我正在寻找一个平台无关的解决方案!任何帮助都会很棒:)

Von*_*onC 5

一个项目(仅适用于Windows和Mac)似乎接近你想要的东西:atotto/clipboard.

提供复制和粘贴到Clipboard for Go.

func ReadAll() (string, error)
func WriteAll(text string) error
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

但那将是GLFW窗口的背景,当然不是任何shell窗口.