我正在編寫一個帶有一些簡單圖像處理的微服務。當我將處理過的圖像發送回用戶時,我必須在通過緩沖區寫入之前對其進行正確編碼。我可以很容易地檢測到格式,所以這不是問題。目前我使用我的格式字符串并這樣做:buffer := new(bytes.Buffer)switch format { //format is just a string as returned by image.Decode()case "jpeg": err := jpeg.Encode(buffer, img, nil) //img is just an image.Image if err != nil { //Do some error handling }case "png": err := png.Encode(buffer, img) if err != nil { //Do some error handling }//and so on...現在這工作得很好,當我開始認為我一定在這里錯過了一些東西時,我正準備將它拆分成我自己的函數。沒有像image.Encode(buffer, image, format).編寫它并不是很麻煩,但是如果我開始重新實現核心語言功能,我的代碼很快就會變得不必要地笨拙。如果它只是不存在,因為 go 是一種占用空間很小的整潔的語言,我很高興。
- 1 回答
- 0 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消