我只是在閱讀 Go 并看到了這段代碼func main(){s:=`<html>removed content for brevity</html>` newfile, err := os.Create("index.html") if err != nil { log.Fatalf("Failed to create file with error: %v", err) } defer newfile.Close() _, _ = io.Copy(newfile, strings.NewReader(s))}根據文檔,Copy 函數的第一個參數是 Writer 接口,但是在 File struct 文檔中我找不到對該接口的任何引用。func Copy(dst Writer, src Reader) (written int64, err error)我假設 File 結構實現了 Writer 接口,但我想知道在學習語言時如何識別這種類型的依賴關系?謝謝,
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
https://golang.org/pkg/os/#Create
包中的Create()
方法os
返回 a*File
作為其值之一。
您可以說File
結構實現了Writer
接口,因為它實現了Write()
方法,正如您所猜測的那樣,這是 Writers 的要求。
File.Write() 實現:https ://golang.org/pkg/os/#File.Write
編寫器接口:https ://golang.org/pkg/io/#Writer
您可能還想查看有關接口的文檔: https ://golang.org/doc/effective_go.html#interfaces_and_types
- 1 回答
- 0 關注
- 163 瀏覽
添加回答
舉報
0/150
提交
取消