Go语言

Gin响应与模板渲染:JSON、HTML、重定向与文件输出

Gin响应与模板渲染:JSON、HTML、重定向与文件输出 前一篇解决了“怎么接收请求”,这一篇要解决“怎么返回结果”。Gin 在响应输出方面提供了非常丰富的封装:可以返回 JSON,可以渲染 HTML 模板,也可以做重定向、输出文件。 虽...

2019-12-25 8 分钟 Go语言, Go教程, 渲染
Go语言

Gin请求数据解析与绑定:JSON、表单与 URI 参数

Gin请求数据解析与绑定:JSON、表单与 URI 参数 路由解决的是“请求进来了该交给谁处理”,而数据解析解决的则是“处理函数怎么拿到请求里的内容”。在真实接口开发里,请求数据可能来自 JSON 请求体、表单、查询参数、路径参数等多个位置...

2019-12-22 11 分钟 Go语言, Go教程, 数据绑定
Go语言

Gin路由基础:基本路由、参数与路由分组

Gin路由基础:基本路由、参数与路由分组 Gin 的第一个核心能力,就是路由。一个 Web 服务到底能处理哪些路径、哪些请求方法、哪些动态参数,几乎都要先在路由层定义好。学会路由之后,你就已经能写出一批很基础的接口了。 但路由不仅仅是 GE...

2019-12-18 7 分钟 路由, Go语言, Go教程
Go语言

Gin框架简介:为什么用 Gin 开发 Go Web 项目

Gin框架简介:为什么用 Gin 开发 Go Web 项目 当 Go 基础、网络编程和标准库掌握到一定程度后,就可以开始进入 Web 开发框架了。Gin 是 Go 生态里非常常见的一款轻量级 Web 框架,它在保留 net/http 简洁风...

2019-12-15 9 分钟 Go语言, Go教程, Gin
Go语言

Go反射入门:Type、Value 与动态处理数据

Go反射入门:Type、Value 与动态处理数据 很多人在初学 Go 时,会把反射当成一个“可以以后再看”的高级话题。确实,日常业务代码不一定需要大量手写反射逻辑,但如果你想读懂很多框架、序列化库、ORM 或通用工具代码,反射几乎绕不开。...

2019-12-11 8 分钟 反射, Go语言, Go教程
Go语言

Go标准库常用能力:fmt、time、json、io 与 context

Go标准库常用能力:fmt、time、json、io 与 context Go 的一个很大优势,是标准库足够实用。很多在其他语言里需要额外找第三方包才能完成的工作,在 Go 中往往标准库就已经覆盖得很好。对初学者来说,这意味着你可以先少依赖...

2019-12-08 8 分钟 标准库, Go语言, Go教程
Go语言

Go网络编程入门:TCP、UDP 与 HTTP 基础

Go网络编程入门:TCP、UDP 与 HTTP 基础 Go 很适合做网络服务,因此在语言基础之后,尽早接触网络编程是很有价值的。哪怕暂时不深入所有协议细节,你也应该先建立一个最基本的认识:服务端程序为什么能监听端口、请求为什么会过来、TCP...

2019-12-04 9 分钟 网络编程, Go语言, Go教程
Go语言

Go并发控制:select、锁与并发安全

Go并发控制:select、锁与并发安全 学会最基础的 goroutine 和 channel 之后,下一步就不能只停留在“能并发跑起来”。真实项目里更关键的问题是:如何让并发代码可控、可停、可维护,而且不出现数据竞争、死锁和资源泄漏。 这...

2019-12-01 10 分钟 并发控制, Go语言, Go教程
Go语言

Go并发编程基础:Goroutine 与 Channel 入门

Go并发编程基础:Goroutine 与 Channel 入门 如果说有什么内容最能体现 Go 的特色,并发一定排得非常靠前。Go 之所以被大量用于服务端和基础设施场景,一个很重要的原因就是:它把并发写法做得足够轻量,而且标准库和语言层面都...

2019-11-27 10 分钟 并发, Go语言, Go教程
Go语言

Go接口入门:面向对象思想在 Go 中的实现

Go接口入门:面向对象思想在 Go 中的实现 很多人学 Go 时会问:没有传统类继承体系,那 Go 怎么实现抽象和多态?答案就是接口。接口在 Go 里地位非常高,它既是语言层面的抽象工具,也是很多标准库和框架设计的基础。 不过 Go 的接口...

2019-11-24 9 分钟 Go语言, Go教程, 接口