登录
首页 >  Golang >  Go问答

HandleFunc 被调用两次

来源:Golang技术栈

时间:2023-03-07 20:23:40 227浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《HandleFunc 被调用两次》,主要介绍了golang,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我在 Go 中关注一个[简​​单的 Web 服务器示例。](http://thenewstack.io/building-a-web-server-in- go/)

我插入了一条log语句,以便生成的代码如下所示:

package main

import (
    "io"
    "log"
    "net/http"
)

func hello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "Hello world!")
    log.Println("hello.")
}

func main() {
    mux := http.NewServeMux()
    mux.HandleFunc("/", hello)
    http.ListenAndServe(":8000", mux)
}

问题是每当我在我的网络浏览器中加载端口 8000 时,这个函数都会被调用两次。这是一个问题,因为我打算在每次页面访问时增加一个计数器。通过这种行为,计数器会增加两次。OTOH,如果我这样做curl localhost:8000,它只会被调用一次。

我觉得我在这里想念的东西真的很愚蠢。

正确答案

只需记录请求。您将意识到您的浏览器也请求 /favicon.ico。

有关更多信息,请参阅https://en.wikipedia.org/wiki/Favicon

理论要掌握,实操不能落!以上关于《HandleFunc 被调用两次》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>