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服务内部有支持高并发的特性。

     

  • 相关阅读:
    css笔记
    应用软件常用性能数据描述
    软件性能
    对换工作
    微软网络监视器
    神经衰落的治疗方法
    测试工具Loadrunner日志参数的设置与使用 http://epanchen.javaeye.com/blog/317594
    常见的性能测试方法
    web性能测试需要监控IIS的哪些性能指标 http://bbs.51testing.com/thread13221111.html
    应用软件性能数据分类
  • 原文地址:https://www.cnblogs.com/ztteng/p/8410152.html
Copyright © 2011-2022 走看看