拥有golang标签的文章

【Gin】源码阅读:传统的上下文Context

其实这一篇应该在golang的context包之前更新的。但是当我看见gin中有context,而golang自己也自带context的时候,下意识的感觉这两个context肯定有什么关联!之后在看golang的context包后,还是很别扭的,因为这个包似乎更偏向于运行控制而不是一次请求的上下文。之后翻看了下gin的源码才发现,原来真是我想多了。。。。。。gin框架中的context就是很传统的一次请求的上下文嘛,是用来保存request和response信息的。好了闲话不多说,开始阅读
阅读全文

【Golang】context

学到到上下文了,在swoole中有说过上下文的作用,上下文主要是用来隔离变量的,当多进程/协程并发运行中,可能会出现需要用到同一变量的问题,使用上下文可以很好的做到变量间的隔离防止污染。在golang中的上下文当然不止swoole中自己实现的那些功能了,golang中的上下文不止可以用于变量的隔离,还可以用来管理协程运行。不多说了直接阅读文档吧 package context`import "context"`Package context defines the Contex
阅读全文

【Golang】text/template使用

这一篇将使用及测试template包 创建模板首先是创建模板的办法:1. `func New(name string) Template`创建一个名为name的模板。1. `func ParseFiles(filenames ...string) (Template, error)`ParseFiles函数创建一个模板并解析filenames指定的文件里的模板定义。返回的模板的名字是第一个文件的文件名(不含扩展名),内容为解析后的第一个文件的内容。至少要提供一个文件
阅读全文

【Golang】模板包:text/template

在阅读gin的context之前,我觉得还是需要先了解下模板包`template`。因为context上下文之前也看过了,有response和request结构体,而响应html的话肯定是会做前后端分离的模板的。最初我并不想看模板包,因为个人认为都用上go了,前端应该和go没啥关系了,如果需要后端输出的话为什么不用开发更快的php呢?不过既然到了相关的地方了,还是需要先了解下 `template` 模板包的。本篇内容来自标准库文档的阅读: package template`
阅读全文

【Gin】源码阅读:框架实例化和路由

上一篇中安装并通过官方提供的defaultdemo大概了解了一下gin,现在开始深入阅读gin的源码吧! 官方demo```shellfunc main() { r := gin.Default() r.GET("/ping", func(c gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run() // listen and serve on 0.0.0.0:8080 (f
阅读全文

【Gin】安装,初体验及计划

框架文档手册:1. 简书:1. 官方文档:1. learnku: 安装首先贴一下官方文档中的安装方式,使用 `go get` 安装 要安装 Gin 包,你需要安装 Go 并且设置好你的 Go 工作空间。 下载并安装它:```shell$ go get u github.com/gingonic/gin```在你的代码中导入它:```shellimport "github.com/gingonic/gin"```(可选的)
阅读全文

【Golang】数据库操作

package sql sql包提供了保证SQL或类SQL数据库的泛用接口。 使用sql包时必须注入(至少)一个数据库驱动。参见http://golang.org/s/sqldrivers 获取驱动列表。 驱动列表Apache Ignite/GridGain: https://github.com/amsokol/ignitegoclientApache Impala: https://github.com/bippio/goimpalaApache Avatic
阅读全文

【Golang】测试包:testing

虽说大部分公司都不需要做单元测试,但是这方面的内容还是需要了解的。也有小伙伴问我为什么要去看文档的包里有什么东西,面向百度开发不就好了吗?个人的理解是阅读一遍包不是为了记住所有的函数和方法,而是为了知道这个包里都有什么,可以干什么,在遇到相关问题的时候可以针对的查询而不是复制粘贴。 package testinggo中想要写测试用例的话需要用到 `testing` 包,可用于 `函数测试` 和 `基准测试` 两个地方 函数测试testing 提供对 Go 包的自动化测试的支
阅读全文

【Golang】网络开发:http开发

经过上一篇的net/http包,来实现一个简单的demo 服务端 创建监听通过上一篇的包阅读可以看到,http监听服务端有两种办法:1. 直接使用`http.ListenAndServe(addr string, handler Handler)`开启一个默认的监听服务器```shell http.HandleFunc("/", enterHander) err := http.ListenAndServe(ip+":"+port, nil)```1
阅读全文

【Golang】网络开发:net/http包

本篇为http开发前的包阅读 net/httphttp包提供了HTTP客户端和服务端的实现。Get、Head、Post和PostForm函数发出HTTP/ HTTPS请求。```shellresp, err := http.Get("http://example.com/")...resp, err := http.Post("http://example.com/upload", "image/jpeg", &buf)...resp, err := h
阅读全文