原文地址 mp.weixin.qq.com
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!