我試圖使用svgo package在svg文件上繪製點並顯示使用Web瀏覽器的點。從查看net/http
文檔,我不知道如何將參數傳遞給我的svgWeb
函數。將參數傳遞到HandlerFunc
以下示例在我的Web瀏覽器中編譯並顯示一個三角形和一條線,但我真正想要做的是使用Polyline方法繪製xpts和ypts。我如何通過適當的論據或重構這個例子來完成這個任務?
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)
}
}
我很困惑。如果你使用'net/http'來創建一個處理程序,爲什麼你不能從處理程序中的'http.request'獲取你的參數?用途是什麼? – jdi 2012-04-08 23:45:05