暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【GoLang】Web应用Get请求样例

左羊公社 2022-08-14
222


Hello , Go Web ~


HelloWorld

    package main


    import (
    "log"
    "net/http"
    )


    func viewHandler(writer http.ResponseWriter, request *http.Request) {
    message := []byte("Hello,Go~")


    _, err := writer.Write(message)
    if err != nil {
    log.Fatal(err)
    }
    }


    func main() {
    http.HandleFunc("/hello", viewHandler)
    err := http.ListenAndServe("localhost:8080", nil)
    log.Fatal(err)
    }

    解释

      writer http.ResponseWriter 响应输出
      request *http.Request 输入
      message := []byte("Hello,Go~") 字符串转字节流
      _, err := writer.Write(message) 响应写入页面
      http.HandleFunc("/hello", viewHandler)
      "/hello" 请求路径 viewHandler 响应函数
      http.ListenAndServe("localhost:8080", nil) 监听服务

      运行测试

        go run hello_web.go


        获取请求值

          package main


          import (
          "log"
          "net/http"
          )


          func viewHandler(writer http.ResponseWriter, request *http.Request) {
          hello := request.FormValue("hello")


              _, err2 := writer.Write([]byte(hello))


          if err2 != nil {
          log.Fatal(err2)
          }
          }


          func main() {
          http.HandleFunc("/hello", viewHandler)
          err := http.ListenAndServe("localhost:8080", nil)
          log.Fatal(err)
          }

          解释

            hello := request.FormValue("hello")
            获取request请求值

            运行测试

              go run hello_web_request.go
              http://127.0.0.1:8080/hello?hello=zuoyang

              Bmi程序

                package main


                import (
                "fmt"
                "log"
                "net/http"
                "strconv"
                )


                func bmi(height float64, weight float64) string {
                fmt.Println("你的身高(m)是:", height, "你的体重(KG)是:", weight)


                var bmi_num float64 = weight (height * height)


                var bmi_status string


                if bmi_num < 18.5 {
                bmi_status = "消瘦"
                } else if bmi_num > 18.5 && bmi_num < 24.9 {
                bmi_status = "正常"
                } else if bmi_num > 25 && bmi_num < 27.9 {
                bmi_status = "超重"
                } else if bmi_num > 28 {
                bmi_status = "肥胖"
                }
                return bmi_status
                }


                func viewHandler(writer http.ResponseWriter, request *http.Request) {
                // var height float64
                height, _ := strconv.ParseFloat(request.FormValue("height"), 64)
                // var weight float64
                weight, _ := strconv.ParseFloat(request.FormValue("weight"), 64)


                value := string(bmi(height, weight))


                _, err2 := writer.Write([]byte(value))


                if err2 != nil {
                log.Fatal(err2)
                }
                }


                func main() {
                http.HandleFunc("/hello", viewHandler)
                err := http.ListenAndServe("localhost:8080", nil)
                log.Fatal(err)
                }

                解释

                  strconv.ParseFloat(request.FormValue("height"), 64) 字符串类型转换
                  func bmi(height float64, weight float64) string {} 函数 func 关键字 bmi() 入参列表/数据类型 string 返回值类型
                  bmi(height, weight) 函数调用

                  运行测试

                    go run hello_web_bmi.go


                    http://127.0.0.1:8080/hello?height=1.85&weight=85

                    感谢您的观看,Yes!


                    文章转载自左羊公社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论