Golang 语言标准库 bytes 包怎么使用?
01 介绍Golang 语言中内置了两种字符类型,分别是 byte 的字节类类型,和 rune 的字符类类型。其中 byte 是 uint8 的别名,表示 ASCII 码的一个字符,占用 1 个字节,rune 是 int32 的别名,表示 UTF-8 字符,占用 4 个字节。[]byte 表示字节切片,因为字符串也可以表示为字节切片,所以 bytes 包的函数和 strings 包的函数比较相似....
Golang 语言三方库 lumberjack 日志切割组件怎么使用?
01 介绍Golang 语言标准库的 log 包不支持日志切割,然而如果我们业务每天产生海量日志,日志文件就会越来越大,甚至会触发磁盘空间不足的报警,此时如果我们移动或者删除日志文件,需要先将业务停止写日志,很不方便。而且大日志文件也不方便查询,多少有点失去日志的意义。在实际业务开发中,我们通常会按照日志文件大小或者日期进行日志切割。常见的日志切割方式是由系统 Crontab 计划任务执行 Sh....
Golang 语言的标准库 log 包怎么使用?
01 介绍Golang 语言的标准库中提供了一个简单的 log 日志包,它不仅提供了很多函数,还定义了一个包含很多方法的类型 Logger。但是它也有缺点,比如不支持区分日志级别,不支持日志文件切割等。02 函数Golang 的 log 包主要提供了以下几个具备输出功能的函数:func Fatal(v ...interface{})func Fatalf(format string, v .......
每位 Gopher 都应该了解的 Golang 语言的垃圾回收算法
01 介绍关于垃圾回收,比较常见的算法有引用计数、标记清除和分代收集。Golang 语言使用的垃圾回收算法是标记清除。本文主要介绍一下 Golang 语言的垃圾回收算法。02 Golang 语言 v1.3 及之前的垃圾回收 - 标记清除Golang 语言的标记清除垃圾回收算法,为了防止 GC 扫描时内存变化引起的混乱,那么就需要 STW,即 Stop The World,具体在 Golang 语....

Golang 语言的 goroutine 调度器模型 GPM
01 介绍Golang 语言与其他编程语言之间比较,最大的亮点就是 goroutine,使 Golang 语言天生支持并发,可以高效使用 CPU 的多个核心,而并发执行需要一个调度器来协调。Golang 语言的调度器是基于协程调度模型 GMP,即 goroutine(协程)、processor(处理器)、thread(线程),通过三者的相互协作,实现在用户空间管理和调度并发任务。其中 threa....

Golang 语言怎么实现访问流量限流?
01介绍为了保护业务系统不会在访问流量过载的情况下出现问题,我们就需要限流。常见的限流算法有:固定时间窗口限流算法,滑动时间窗口限流算法,漏桶限流算法,令牌桶限流算法。其中固定时间窗口限流算法和滑动时间窗口限流算法比较简单,感兴趣的读者可以自己去研究。02漏桶所谓漏桶算法,就像一个漏斗一样,把倒入的水比作访问流量,把流出的水比作业务系统处理的请求,当访问流量过大时,漏桶就会积水,甚至水会溢出。图....

Golang 语言的内存管理
01内存分布什么是虚拟内存?计算机系统内存管理的一种技术。每个进程都拥有独立的、连续的、统一的的虚拟地址空间。通过 MMU 和物理内存映射,高效使用物理内存。64 位 linux 进程内存分布情况理论上有 16E 的寻址空间,目前没有操作系统会用到这么大的空间目前用了 48 位的寻址空间,总的虚拟地址空间为 256TB用户空间为 128T用户空间布局和 linux 布局一样堆和栈:空间大小:每个....
Golang 语言怎么使用 gomail 库发送邮件?
01介绍我们在项目开发中,经常会遇到发送邮件的需求,比如给开发人员发送报警邮件,给用户发送优惠券或兑换码等。Gomail 是发送电子邮件的简单高效的包。它已经过充分测试和记录。Gomail 只能使用 SMTP 服务器发送电子邮件。但是该 API 灵活,可以轻松实现使用本地 Postfix,API 等发送电子邮件的其他方法。它使用 gopkg.in 进行了版本控制,因此保证每个版本都不会存在向后不....
Golang语言使用 jwt-go 库生成和解析 token
01介绍JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种方式,用于在各方之间安全地将信息作为 JSON 对象传输。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对对 JWT 进行签名。尽管可以对 JWT 进行加密以提供双方之间的保密性,但我们将重点关注已签名的令牌(signe....
Golang 语言的值验证库 Validator 怎么使用?
01介绍Validator 是基于 tag(标记)实现结构体和单个字段的值验证库,它包含以下功能:使用验证 tag(标记)或自定义验证器进行跨字段和跨结构体验证。关于 slice、数组和 map,允许验证多维字段的任何或所有级别。能够深入 map 键和值进行验证。通过在验证之前确定接口的基础类型来处理类型接口。处理自定义字段类型(如 sql 驱动程序 Valuer)。别名验证标记,它允许将多个验....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Golang更多语言相关
- Golang语言锁
- Golang语言goroutine
- Golang语言协程
- Golang语言机制
- Golang语言并发
- Golang语言安全
- Golang语言案例
- Golang语言示例
- Golang语言快速入门
- Golang语言grpc
- go语言入门Golang
- Golang入门语言
- Golang语言包
- Golang语言库
- Golang语言指针
- Golang语言函数
- Golang语言库包
- Golang语言数据类型
- Golang语言map
- Golang语言beego
- Golang语言切片
- Golang语言结构
- Golang语言应用
- Golang语言字符串
- Golang语言结构体
- Golang语言变量
- Golang语言struct
- Golang语言数组
- Golang语言channel
- Golang语言标准库包