我想从此链接https://github.com/valyala/fasthttp开始学习fasthttps服务器,但是我不知道如何在此框架中实现一小段代码。谁能告诉我我将如何在其中实现一小段代码?请举个例子。
我尝试过的代码
package main
import "fmt"
type MyHandler struct {
foobar string
}
func main() {
// pass bound struct method to fasthttp
myHandler := &MyHandler{
foobar: "foobar",
}
fasthttp.ListenAndServe(":8080", myHandler.HandleFastHTTP)
// pass plain function to fasthttp
fasthttp.ListenAndServe(":8081", fastHTTPHandler)
}
// request handler in net/http style, i.e. method bound to MyHandler struct.
func (h *MyHandler) HandleFastHTTP(ctx *fasthttp.RequestCtx) {
// notice that we may access MyHandler properties here - see h.foobar.
fmt.Fprintf(ctx, "Hello, world! Requested path is %q. Foobar is %q",
ctx.Path(), h.foobar)
}
// request handler in fasthttp style, i.e. just plain function.
func fastHTTPHandler(ctx *fasthttp.RequestCtx) {
fmt.Fprintf(ctx, "Hi there! RequestURI is %q", ctx.RequestURI())
}
您能告诉我如何实现此代码吗?
答案 0 :(得分:3)
此代码似乎有效。我将其粘贴到.go
文件中,并添加:
import "github.com/valyala/fasthttp"
然后,您必须使用go get github.com/valyala/fasthttp
或通过编写go.mod
文件(如果要使用新的模块支持)来安装此软件包。
然后运行该文件并在浏览器中打开localhost:8080
。
也许您还有一个更具体的问题?
就像@Volker在评论中说的那样,对于新手,强烈建议您坚持使用标准库-在这种情况下为net/http
;您可以通过谷歌搜索找到 way 更多示例和代码/教程,而无需安装特殊软件包等。