与えられた例では文字列をハンドラに渡そうとしています。ここで http関数の追加引数Golang
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
は、私が試したものですが、それは、引数の定期的な数を予想して、エラーがスローされます。
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request, s *string) {
fmt.Fprintf(w, "Hi there, I love %s!", *s)
}
func main() {
files := "bar"
http.HandleFunc("/", handler(&files))
http.ListenAndServe(":8080", nil)
}
私はこの答えが本当に好きですが、文字列の配列に変換する方法がわかりません。 – GoHttp
'Files strings'を' Files [] string'に変更し、あなたの配列で構造体をインスタンス化してください。 –
ファイルを動的に取得したい場合は、 'func(fh * FilesHandler)GetFiles()[] string {//ファイルの文字列配列を取得するためのもの}'のような別の関数を追加し、 'handler' 'fh.GetFiles()'のように –