首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用golang写一个基本的服务器

go自带基本的http系统,开源的go web服务相关的框架大多是基于此进行的扩展延伸,比如以快速小巧著称的gin,国人写的beego等,以及爬虫框架colly都是基于此。我们今天聊聊这个http库怎么简单的写一个http服务。

我们今天只是简答的实现一个server并不会去添加路由session cookie等的控制……

go启动一个server服务异常的简单,短短数行代码即可

上问是官方的定义,我们可以直接拿来用

一句话启动起来一个服务,由于我们没有添加Handler所以是无法响应服务的,我们接下来添加一个handler,在此之前我们看看所谓的Handler是个什么东东?

从定义来看,Handler是个接口,因此我们可以定义一个实体struct或者一个函数均可以用于响应数据

然后我们看看网络发起请求之中都包含什么

req已经为我们封装好了,必要的数据,我们可以从中获取到用户发送的数据请求,然后进行处理。对于有路由层的框架就可以根据此机型路由映射控制,内部进行数据分发。看看我们的gin是如何走的

我们看到gin将用户的req保存在context中,然后engine来根据请求进行处理,而图中的t:=engin.trees就是route路由组成的二叉树然后进行最大匹配,最后将请求数据分发给对应的响应Handler(当然了,route不是我们的讲解范围啦)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190731A032EL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券