Ich versuche, die svgo package zu verwenden, um Punkte in einer Svg-Datei zu zeichnen und diese mit dem Webbrowser anzuzeigen. Aus der Betrachtung der net/http
Dokumentation weiß ich nicht, wie ich Argumente in meine svgWeb
Funktion übergeben könnte.Argumente in HandlerFunc übergeben
Das folgende Beispiel kompiliert und zeigt ein Dreieck und eine Linie in meinem Web-Browser, aber was ich wirklich gerne tun würde ist plotten xpts und ypts mit der Polyline-Methode. Wie kann ich die entsprechenden Argumente übergeben oder dieses Beispiel umstrukturieren, um diese Aufgabe zu erfüllen?
package main
import (
"github.com/ajstarks/svgo"
"log"
"net/http"
)
func svgWeb(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "image/svg+xml")
xpts := []int{1, 200, 5}
ypts := []int{200, 400, 300}
s := svg.New(w)
s.Start(500, 500)
s.Line(5, 10, 400, 400, "stroke:black")
s.Polyline(xpts, ypts, "stroke:black")
s.End()
}
//// Main Program function
//////////////////////////////
func main() {
xpts := []int{}
ypts := []int{}
for i := 0; i < 100; i++ {
xpts = append(xpts, i)
xpts = append(ypts, i+5)
}
http.Handle("/economy", http.HandlerFunc(svgWeb))
err := http.ListenAndServe(":2003", nil)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
Ich bin verwirrt. Wenn Sie 'net/http' verwenden, um einen Handler zu erstellen, warum würden Sie dann nicht einfach Ihre Argumente von der' http.request' im Handler bekommen? Was ist die beabsichtigte Verwendung? – jdi