2017-08-13 21 views
0

Golangにnet/httpパッケージのサーバー静的ファイルの例を探して、Dirが見つかりました。これはFileSystemインターフェイスを実装しています。暗黙的なインターフェイスコール関数

が正確 http.Dir("/tmp")何ですか
http.Handle("/", http.FileServer(http.Dir("/tmp"))) 

いくつかの例には、以下とすることはできサーバーの静的ファイルを表示しますか?それはFileSystemのコンストラクタ関数のようです。

答えて

1

http.Dir("/tmp")は、実際には、/tmpの文字列をhttp.Dirタイプに変換するタイプ変換です。 docsを見ると、実際にはhttp.Dirが文字列型であることがわかります。したがって、この型変換が機能します。

さらに、http.Dirタイプもfunc Open(name string) (File, error)の機能を実装しています。したがって、FileSystemインターフェイスが使用されている場所ならどこでも使用できます。

net/httpパッケージのfunc ServeFile(w ResponseWriter, r *Request, name string)機能を確認することもできます。

関連する問題