1 回答

TA貢獻1818條經(jīng)驗 獲得超7個贊
考慮Open和Write的定義:
func Open(name string) (*File, error)
func (f *File) Write(b []byte) (n int, err error)
所以這一行:
fileACopy, err := os.Open("./fileACopy.txt")
給你fileACopy(a *File) 然后你把它作為參數(shù)傳遞給append.Write(fileACopy). 根據(jù)上述定義append.Write,[]byte您嘗試向其傳遞不同的 ( fileACopy, a *File),因此出現(xiàn)錯誤“不能使用 'fileACopy' (type *File) as type []byte”。
實現(xiàn)您想要的最簡單的方法可能是使用io.Copy:
Copy(dst Writer, src Reader) (written int64, err error)
在你的情況下io.Copy(append, fileACopy)應(yīng)該做的伎倆。A,效率較低的替代方法是使用ioutil.ReadAll(以及其他選項)讀取文件內(nèi)容,這將為您提供[]byte然后可以傳遞給您的文件內(nèi)容append.Write(這可能效果不佳,因為整個文件被讀入內(nèi)存,然后書面)。
- 1 回答
- 0 關(guān)注
- 547 瀏覽
添加回答
舉報