Golang获取系统剪贴板内容的方法
在Golang中如何获取系统剪贴板的内容?我尝试过一些方法但都没成功,希望有经验的开发者能分享一个可靠的方法或推荐合适的库。最好能支持跨平台(Windows/MacOS/Linux)。谢谢!
2 回复
在Golang中获取系统剪贴板内容,可以使用第三方库。推荐使用github.com/atotto/clipboard,简单易用:
package main
import (
"fmt"
"github.com/atotto/clipboard"
)
func main() {
// 读取剪贴板内容
text, err := clipboard.ReadAll()
if err != nil {
panic(err)
}
fmt.Println("剪贴板内容:", text)
}
安装方法:
go get github.com/atotto/clipboard
这个库支持跨平台(Windows/macOS/Linux),使用系统原生API实现。如果只需要写入剪贴板,可以用clipboard.WriteAll("text")。
注意:在某些Linux系统上可能需要安装xsel或xclip:
# Ubuntu/Debian
sudo apt install xsel xclip
这个库足够满足大部分基础需求,如果遇到权限问题,可能需要检查系统剪贴板访问权限。
更多关于Golang获取系统剪贴板内容的方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在Go语言中,可以通过第三方库来获取系统剪贴板内容。以下是使用 github.com/atotto/clipboard 库的示例方法:
-
安装库:
go get github.com/atotto/clipboard -
代码示例:
package main import ( "fmt" "github.com/atotto/clipboard" ) func main() { // 读取剪贴板内容 text, err := clipboard.ReadAll() if err != nil { fmt.Println("读取剪贴板失败:", err) return } fmt.Println("剪贴板内容:", text) }
说明:
- 该库支持 Windows、macOS 和 Linux 系统。
ReadAll()返回剪贴板中的文本内容。- 如果需要写入剪贴板,可使用
clipboard.WriteAll("内容")。
注意事项:
- 某些 Linux 发行版可能需要安装 xclip 或 xsel 工具(例如:
sudo apt install xclip)。 - 该库仅处理文本内容,不支持二进制数据(如图片)。

