当前位置:   article > 正文

GO语言Web 服务器_go web服务器

go web服务器

包 http 通过任何实现了 http.Handler 的值来响应 HTTP 请求:

  1. package http
  2. type Handler interface {
  3. ServeHTTP(w ResponseWriter, r *Request)
  4. }

在下边例子中,类型 Hello 实现了 http.Handler

访问 http://localhost:4000/ 会看到程序的打印输出。

  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. )
  7. type Hello struct{}
  8. func (h Hello) ServeHTTP(
  9. w http.ResponseWriter,
  10. r *http.Request) {
  11. fmt.Fprint(w, "Hello!")
  12. }
  13. func main() {
  14. var h Hello
  15. err := http.ListenAndServe("localhost:4000", h)
  16. if err != nil {
  17. log.Fatal(err)
  18. }
  19. }

案例二:http请求url处理

  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. )
  7. type String string
  8. type Struct struct {
  9. Greeting string
  10. Punct string
  11. Who string
  12. }
  13. //此方法配合http.Handle("/string", String("I'm a frayed knot."))使用
  14. func (h String) ServeHTTP(
  15. w http.ResponseWriter,
  16. r *http.Request) {
  17. fmt.Fprint(w, h)
  18. }
  19. //此方法配合http.Handle("/struct", &Struct{"Hello", ":", "Gophers!"})使用
  20. /*func (h *Struct) ServeHTTP(
  21. w http.ResponseWriter,
  22. r *http.Request) {
  23. fmt.Fprint(w, h)
  24. }*/
  25. func main() {
  26. http.Handle("/string", String("I'm a frayed knot."))
  27. // http.Handle("/struct", &Struct{"Hello", ":", "Gophers!"})
  28. // your http.Handle calls here
  29. log.Fatal(http.ListenAndServe("localhost:4000", nil))
  30. }

待完善。。。。。。。。。。。。。。。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/681876
推荐阅读
相关标签
  

闽ICP备14008679号