zoukankan      html  css  js  c++  java
  • golang 简单web服务

    1.golang print输入

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Printf("Hello World!
    ")
    }
    

    执行如下命令
    go build print.go

    2. go web 服务端

    Go语言标准库 - net/http

    Go Web服务器的搭建就需要用到Go语言官方提供的标准库 net/http,通过http包提供了HTTP客户端和服务端的实现。同时使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置和操作。

    http包建立Web服务器

    package main
    import (
        "fmt"
        "net/http"
        "strings"
        "log"
    )
    func sayhelloName(w http.ResponseWriter, r *http.Request) {
        r.ParseForm() //解析参数,默认是不会解析的
        fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
        fmt.Println("path", r.URL.Path)
        fmt.Println("scheme", r.URL.Scheme)
        fmt.Println(r.Form["url_long"])
        for k, v := range r.Form {
            fmt.Println("key:", k)
            fmt.Println("val:", strings.Join(v, ""))
        }
        fmt.Fprintf(w, "Hello Wrold!") //这个写入到w的是输出到客户端的
    }
    func main() {
        http.HandleFunc("/", sayhelloName) //设置访问的路由
        err := http.ListenAndServe(":9090", nil) //设置监听的端口
        if err != nil {
            log.Fatal("ListenAndServe: ", err)
        }
    }

    上面的代码我们在IDE中编译后并运行成功后,这个时侯我们就可以在9090端口监听http链接请求了。

    们在浏览器中输入了 http://ip:9090,可以看到浏览器页面中输入出 Hello World!
    这个时侯如果我们在浏览器地址后面加一些参数试试:http://ip:9090?url_long=111&url_long=222,

    看看浏览器中输出什么?服务器端输出的又是什么?

    map[url_long:[111 222]]
    path /
    scheme 
    [111 222]
    key: url_long
    val: 111222
     

    我们看到了上面的代码,要编写一个Web服务器是不是很简单,只要调用http包的两个函数就可以了。
    我们看到Go通过简单的几行代码就已经运行起来一个Web服务了,而且这个Web服务内部有支持高并发的特性。

     

  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1046 Shortest Distance (20)
    1061 Dating (20)
    1041 Be Unique (20)
    1015 Reversible Primes (20)(20 分)
    pat 1027 Colors in Mars (20)
    PAT 1008 Elevator (20)
    操作系统 死锁
    Ajax的get方式传值 避免& 与= 号
    让IE浏览器支持CSS3表现
  • 原文地址:https://www.cnblogs.com/ztteng/p/8410152.html
Copyright © 2011-2022 走看看