我的 linux 机器上已经配置了热敏打印机 (ESC/POS),使用终端命令(以 root 身份)我可以打印:echo "Hello!" > /dev/usb/lp0然而,在 golang 中执行相同的过程没有任何反应:package mainimport ( "fmt" "os")func main() { fmt.Println("Hello Would!") f, err := os.Open("/dev/usb/lp0") if err != nil { panic(err) } defer f.Close() f.Write([]byte("Hello world!"))}我究竟做错了什么?
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
如文档中所述,os.Open()
以只读方式打开文件。
如果您检查了您的电话返回,您就会发现问题Write()
。始终检查错误。不要忽略它们,即使是在像这样的小程序中;他们会给你一个线索,告诉你哪里出了问题。
要解决这个问题,请打开写入专用设备os.OpenFile()
。
f, err := os.OpenFile("/dev/usb/lp0", os.O_RDWR, 0)
- 1 回答
- 0 关注
- 245 浏览
添加回答
举报
0/150
提交
取消