我的 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 關注
- 340 瀏覽
添加回答
舉報
0/150
提交
取消