我正在使用GoLand IDE,运行Go web应用程序时遇到问题。使用终端时,代码未进行编译。
问题是:当我尝试运行代码时,终端重复了命令提示符。
C:UsersEvangosrcawesomeProject9>go run main.go
C:UsersEvangosrcawesomeProject9>
package main
import (
"fmt"
"html/template"
"net/http"
)
var tpl *template.Template
func init(){
template.Must(template.ParseGlob("templates/*.html"))
}
func main() {
http.HandleFunc("templates/index", idx)
http.ListenAndServe("8000", nil)
fmt.Println("hello World")
}
func idx(w http.ResponseWriter, r *http.Request){
tpl.ExecuteTemplate(w, "templates/index.html", nil)
}
感谢@zerkms指出,我错了。我只是遇到了我后来试图警告你的确切错误:
您真的应该使用被调用函数返回的err,因为这些函数确实对您有很大帮助!简单来说:
err := http.ListenAndServe("8000", nil)
if err != nil {
log.Fatal(err)
}
这与有关
2018/12/18 10:43:16 listen tcp: address 8000: missing port in address
正确的线路应该是
err := http.ListenAndServe(":8000", nil)
错误仅用于文档
ListenAndServe
不会阻止进一步的代码执行。。。。