第六届字节跳动青训营第三篇分享笔记 | 青训营

50 阅读2分钟

GoWeb开发

1、go中的标准库net/http

从客户端的角度来看,可以使用 http.Gethttp.Post 或者 http.NewRequest 来构造一个 http 请求。其中 http.Get 和 http.Post 方法比较简单但功能有限,如果想要设置更多的参数(比如 HTTP Header,Cookie等),就需要使用 http.NewRequest。构造完成后,可以用 http.Client 的 Do 方法去执行这个请求,并获取响应。

作为 HTTP 服务器,net/http 提供了灵活的路由匹配和中间件支持。在 net/http 库中,所有的请求处理器都需要实现 http.Handler 接口,这个接口只有一个 ServeHTTP(w http.ResponseWriter, r *http.Request) 方法,业务逻辑需要在这个方法中实现。此外,通过 http.HandleFunc 或 http.Handle 函数,开发者可以很方便地注册 URL 路由规则。

HandleFunc()函数的第二个参数的内容是可以为html的,这样浏览器也是能够进行识别的 我们还可以将该html内容单独的写到一个文件中并通过标准库io/ioutil中的函数进行文件内容的读取,并转换为需要的字符串

2、go中web框架gin

今天就先不记录gin框架的使用了,因为在我学习的过程中,下载gin框架时,一直出现各种问题,大体总结为网络原因,因此我们需要做相应的配置,而我也是在这块浪费了比较多的时间,我来为大家说一下我的问题,首先,由于是初学者,对这个框架的使用还不理解(想直接复制教程的步骤,结果还没记对),没有做任何配置直接在控制台输入go get -u githubcom/gin-gonic/gin命令进行了下载,然后就直接报错了,然后我就去查询解决方法,需要去配置goland的setting->go modules->Environment->GOPROXY=goproxy.cn
配置好之后我就去再尝试,然后发现还是不行,然后继续去查找解决方法,但是一直没有解决,之后我发现应该是更改配置后没有立即生效,然后关闭了goland重新打开,结果发现可以了,有jy知道如何更好的解决我这个问题吗