• 【go进阶】一个简单的go服务器实现


    光阴似箭,日月如梭,在昨天我终于拿到了自己忙活了半个月的工资。

    据说在7月25日有一颗小行星掠过地球,如果真的撞上来,估计31号我就不是乐呵呵的了,应该是直接没了。

    如下的代码运行起来就是一个微型go服务器

     1 package main
     2 
     3 import (
     4     "fmt"
     5     "log"
     6     "net/http"
     7     "strings"
     8 )
     9 
    10 func sayhelloName(w http.ResponseWriter,r *http.Request){
    11     r.ParseForm()  //解析参数,默认是不会解析的
    12     fmt.Println(r.Form)  //这些信息是输出到服务器端的打印信息
    13     fmt.Println("path", r.URL.Path) /*这些信息都是!!!!!*/
    14     fmt.Println("scheme", r.URL.Scheme)
    15     fmt.Println(r.Form["url_long"])
    16     for k, v := range r.Form {
    17         fmt.Println("key:", k)
    18         fmt.Println("val:", strings.Join(v, ""))
    19     }
    20     fmt.Fprintf(w, "Hello astaxie!") //这个写入到w的是输出到客户端的
    21 }
    22 
    23 func loginContro(w http.ResponseWriter,r *http.Request){
    24     r.ParseForm()
    25     fmt.Println(r.Form)
    26     fmt.Println("path",r.URL.Path)
    27     fmt.Println("scheme",r.URL.Scheme)
    28     fmt.Println(r.Form["url_long"])
    29     for k, v := range r.Form {
    30         fmt.Println("key:", k)
    31         fmt.Println("val:", strings.Join(v, ""))
    32     }
    33     fmt.Fprintf(w, "this is page of login check!")
    34 }
    35 
    36 func main() {
    37     http.HandleFunc("/", sayhelloName) //设置访问的路由
    38     http.HandleFunc("/login",loginContro)
    39     err := http.ListenAndServe(":9090", nil) //设置监听的端口
    40     if err != nil {
    41         log.Fatal("ListenAndServe: ", err)
    42     }
    43 }

    没有什么好说的,我感觉大家很容易就能看懂~

    今天就到这里啦~

  • 相关阅读:
    Django缓存大总结
    Django之视图 ListView
    Django中间件之加载分析
    Django启动过程之超级详细分析
    Django中间件
    RabbitMq与Celery应用示意图
    爬虫的基本原理
    RestFramework的过滤组件 和 分页组件
    python注释、输入格式化输出输出及数据类型
    编程语言的发展历史及python的初了解
  • 原文地址:https://www.cnblogs.com/sbhyc/p/11284113.html
Copyright © 2020-2023  润新知