Golang语言开发栈

72 篇文章
8.3K 次阅读
13 人订阅

全部文章

frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言的 goroutine 调度器模型 GPM

Golang 语言与其他编程语言之间比较,最大的亮点就是 goroutine,使 Golang 语言天生支持并发,可以高效使用 CPU 的多个核心,而并发执行需...

300
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言怎么实现访问流量限流?

为了保护业务系统不会在访问流量过载的情况下出现问题,我们就需要限流。常见的限流算法有:固定时间窗口限流算法,滑动时间窗口限流算法,漏桶限流算法,令牌桶限流算法。...

1100
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言的内存管理

使用 len() 获取字符串长度,返回的是字节长度,如果想要获取 unicode 长度,需要使用 utf8 包的方法。

6720
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言怎么使用 gomail 库发送邮件?

我们在项目开发中,经常会遇到发送邮件的需求,比如给开发人员发送报警邮件,给用户发送优惠券或兑换码等。

7120
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang语言使用 jwt-go 库生成和解析 token

JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种方式,用于在各方之间安全地将信息作为 JSON 对象传输。由于此信息是经过...

8020
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言的值验证库 Validator 怎么使用?

Validator 是基于 tag(标记)实现结构体和单个字段的值验证库,它包含以下功能:

7840
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言怎么使用 Viper 管理配置信息?

Viper 是适用于 Go 应用程序(包括 Twelve-Factor App)的完整配置解决方案。它被设计为在应用程序中工作,并且可以处理所有类型的配置需求和...

5430
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言的内存模型

Go 内存模型可以保证一个 goroutine 可以读取在不同 goroutine 中修改同一指定变量的值。

7310
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Go team 开源项目 Go Cloud 使用的依赖注入工具 Wire 怎么使用?

本文介绍了 Wire 的基本使用,关于高级功能,例如提供者集合、绑定接口、绑定值、清理等,在本文中并未提及,如果您已经了解了 Wire 的基本使用,想要了解 W...

4410
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言标准库 context 包控制 goroutine

在 Go1.7 中,标准库加入了 context 包,context 包定义了一个 Context (上下文)类型,可以在 Api 之间和进程之间传递信息,还提...

5710
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言标准库 sync/atomic 包原子操作

我们已经介绍过 Mutex、RWMutex 等并发原语操作,如果您还没有阅读,请查看文末「推荐阅读」列表。

3810
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言使用标准库 net/rpc/jsonrpc 包跨语言远程调用

Go 语言标准库 net/rpc 默认采用 encoding/gob 包编解码传输数据,gob 编解码方式仅适用于 Go 应用,如果需要跨语言远程调用,可以指定...

5710
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang语言标准库 sync 包的 Once 怎么使用?

在 Go 语言中,sync 包有一个 Once 类型,官方文档介绍 Once 是一个只执行一次操作的对象。所以,Once 一般用于并发执行,但只需初始化一次的共...

3910
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 Web 框架 beego v2 之读操作

beego v2.x 和 beego v1.x 在 ORM 上的区别是,beego v2.x 的 ORM 对象被设计为无状态的,它是线程安全的,建议大家在使用时...

7720
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 Web 框架 beego v2 之写操作

beego v2.x 和 beego v1.x 在 ORM 上的区别是,beego v2.x 的 ORM 对象被设计为无状态的,它是线程安全的,建议大家在使用时...

7020
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 Web 框架 beego v2 之控制器方法和输入输出数据

创建 beego 的控制器,首先要匿名组合 beego.Controller,beego.Controller实现了接口 beego.ControllerInt...

5810
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 Web 框架 beego v2 之模板

beego 的模板处理引擎采用的是 Go 内置的 html/template 包进行处理,而且 beego 的模板处理逻辑是采用了缓存编译方式,也就是所有的模板...

3610
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 beego v2 之安装和快速入门

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感...

9520
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 beego v2 之路由设置

beego 的路由功能非常强大,支持多种路由方式,包括固定路由,正则路由,自动路由等。

9630
frankphper

奇虎360 · 服务端资深工程师 (已认证)

Golang 语言 beego 学习之安装和快速入门

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感...

5320

扫码关注云+社区

领取腾讯云代金券