官术网_书友最值得收藏!

How it works…

Once we run the program, the HTTP server will start locally listening on port 8080. Browsing http://localhost:8080 will show us an HTML form, as shown in the following screenshot:

Let’s understand the program we have written:

  • func login(w http.ResponseWriter, r *http.Request) { parsedTemplate, _ := template.ParseFiles("templates/login-form.html") parsedTemplate.Execute(w, nil) }: This is a Go function that accepts ResponseWriter and Request as input parameters, parses login-form.html, and returns a new template.
  • http.HandleFunc("/", login): Here we are registering a login function with the / URL pattern using HandleFunc of the net/http package, which means the login function gets executed every time we access the HTTP URL with the / pattern passing ResponseWriter and  Request as the parameters to it.
  • err := http.ListenAndServe(CONN_HOST+":"+CONN_PORT, nil): Here we are calling http.ListenAndServe to serve HTTP requests that handle each incoming connection in a separate Goroutine. ListenAndServe accepts two parameters—the server address and the handler—where the server address is localhost:8080 and the handler is nil.  
  • if err != nil { log.Fatal("error starting http server : ", err) return}: Here we check if there is a problem with starting the server. If there is, then log the error and exit with a status code of 1.
主站蜘蛛池模板: 诸城市| 谢通门县| 靖远县| 茂名市| 佛冈县| 云和县| 洛浦县| 砚山县| 涪陵区| 武宁县| 吐鲁番市| 澄城县| 平舆县| 云和县| 若尔盖县| 托里县| 临颍县| 武邑县| 巴中市| 武强县| 白城市| 罗江县| 额敏县| 兴和县| 平阳县| 甘孜县| 贡山| 阜城县| 五大连池市| 通化市| 大同市| 仙居县| 辽中县| 东辽县| 乳源| 出国| 石屏县| 名山县| 沅江市| 衡阳县| 沛县|