golang 简单web服务

1.golang print输入

package main

import "fmt"

func main() {
	fmt.Printf("Hello World!\n")
}

执行如下命令
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服务内部有支持高并发的特性。

原文地址:https://www.cnblogs.com/ztteng/p/8410152.html

时间: 2025-01-13 19:04:04

golang 简单web服务的相关文章

Server2016系统建立简单Web服务

Server2016系统建立简单Web服务 web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的.全球性的.动态交互的.跨平台的分布式图形信息系统.是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的.易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构.(实验所需软件安装包和系统镜像附在博客最后.) 第一步:打开控制面板,进入程序,再进入程序和功能,点击启用或

golang 搭建 web服务

go语言可以很简单的搭建起一个web服务,重要的只需要仅仅几行,代码如下:package main import ( "fmt" "log" "net/http") func main() { http.HandleFunc("/", HelloWeb) err := http.ListenAndServe(":9090", nil) if err != nil { log.Fatal("erro

简单web服务开发(JWS,CXF,AXIS)

(一)利用JWS开发web服务 开发Web服务器端: 1.定义接口HelloWorld,使用@WebService注解修饰接口名,使用@WebMethod修饰需要对外发布的方法. 2.HelloWorld接口实现类 3.发布类HelloWorldService 4.编译运行HelloWorldService 类之后查看WSDL文档http://localhost:8080/ HelloWorld?wsdl 客户端代码: 1.生成客户端所需要的文件 新建工程WebServerClient,进入工程

Rest风格WEB服务(Rest Style Web Service)的真相

http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2EE2012-12-21 21:55 6103人阅读 评论(2) 收藏 举报 写这篇文章是目的不是介绍Web-Service, 而是从Restful Web Service说起来剖析一下 什么才是真正的Restful Style的架构与协议,从而更好的理解web服务的设计理念与架 构本质. 一:Web

Yii2高速构建RESTful Web服务功能简单介绍

Yii2相比Yii1而言,一个重大的改进是内置了功能完备的RESTful支持. 其内置RESTful支持提供了例如以下功能: 使用ActiveRecord的通用接口来高速构建原型: 应答格式协商(缺省支持 JSON 和 XML). 可定制的对象序列化,支持选择输出哪些列. 请求数据的格式化以及验证错误: 通过HTTP 动词映射实现高效路由: 支持 OPTIONS 和 HEAD 动词: 认证 和 鉴权: 支持 HATEOAS(RESTful的架构约束,超媒体即应用程序状态): 结果缓存.可使用 y

C#最简单的登录Web服务

由于演示程序,所以有以下问题: 1,密码是明码传输. 本文在  C#建立最简单的web服务,无需IIS  的基础上完成. 具体步骤: 一,RequestProcessor增加变量mLogin,改写ParseRequestAndProcess函数. protected bool mLogin = false; public bool ParseRequestAndProcess(string[] RequestLines)//解析内容 { char[] sp = new Char[1] { ' '

web服务的简单介绍及apache服务的安装

一,web服务的作用:  是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.可以放置网站文件,让全世界浏览:   可以放置数据让全世界下载.目前最主流的三个Web服务器是Apache.Nginx.IIS 二,当前互联网主流Web服务软件: Apache:中小型web服务的主流,web服务使用目前排名第一 Nginx:大型网站web服务的主流,目前使用使用增势迅猛,社区活跃,发布更新版本比较快. Nginx的分支Tengine(淘宝网正在使用),目前也在飞速发展. Lig

利用Hessian10分钟配置出一个简单的跨Web服务消息推送

笔者,之前对Web跨服务推送数据一无所知,今天研究了一下.其实有些事物,在不理解的时候完全觉得好似天外来物.但了解一点点之后,又会觉得十分有趣.每天闲扯一下很开心,下面一个简单的实例10分钟配置出跨Web服务的消息推送.一.被调用端web.xml配置 <!--HelloHessian --> <servlet> <servlet-name>HelloHessian</servlet-name> <servlet-class>com.caucho.

基于gin框架搭建的一个简单的web服务

刚把go编程基础知识学习完了,学习的时间很短,可能还有的没有完全吸收.不过还是在项目中发现知识,然后在去回顾已学的知识,现在利用gin这个web框架做一个简单的CRUD操作. 1.Go Web框架的技术选型 Top 6 web frameworks for Go as of 2017,可以看看这个go语言中Web框架的对比和老大的推荐,我选择gin框架作为学习go语言的框架. image.png 2.Gin介绍 gin框架的中文文档,这个文档相当好,清晰明了解释gin框架的整个用法.下面是gin