如何实现fasthttp框架

时间:2019-02-13 13:37:49

标签: go

我想从此链接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())
}

您能告诉我如何实现此代码吗?

1 个答案:

答案 0 :(得分:3)

此代码似乎有效。我将其粘贴到.go文件中,并添加:

import "github.com/valyala/fasthttp"

然后,您必须使用go get github.com/valyala/fasthttp或通过编写go.mod文件(如果要使用新的模块支持)来安装此软件包。

然后运行该文件并在浏览器中打开localhost:8080


也许您还有一个更具体的问题?

就像@Volker在评论中说的那样,对于新手,强烈建议您坚持使用标准库-在这种情况下为net/http;您可以通过谷歌搜索找到 way 更多示例和代码/教程,而无需安装特殊软件包等。