我想在Golang中实现一些教程,其中涵盖了net / http库以及其他Web和路由库。此外,我使用本地主机通过IIS测试asp.net核心。我已经在我的机器上停止了IIS客户端,它仍然将我重定向到IIS主题的localhost,而不显示我的golang Fprintf消息。localhost上的页面,当前的iis设置和golang代码可以在下面看到。任何帮助,将不胜感激。
package main
import "fmt"
import "net/http"
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
numOfBytesWritten, err := fmt.Fprintf(w, "Hello, World!")
if err != nil {
fmt.Fprintln(w, "Error occured!")
}
fmt.Fprintln(w, numOfBytesWritten, " bytes written.")
http.ListenAndServe(":80", nil)
})
}
答案 0 :(得分:-1)
我的错误很愚蠢:)
http.ListenAndServe(":80", nil)
行不应位于http.HandleFunc()
内。所以我的最终代码在下面,并且可以按预期工作。
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
n, err := fmt.Fprintf(w, "Hello World!\n")
if err == nil {
fmt.Fprintf(w, "%d bytes written\n", n)
} else {
fmt.Fprintf(w, "Error occured.")
}
})
http.ListenAndServe(":80", nil)
}
答案 1 :(得分:-4)
确保默认网站未运行,好像您停止了其他操作。
请参阅附件图像。 https://i.stack.imgur.com/OMhjP.png