1. 背景
不废话, Golang 日志查看疼点
2024年09月02日
1. Go 类型的零值
当通过声明或调用new为变量分配存储空间, 或者通过复合文字字面量或make调用创建新值, 并且还不提供显式初始化的情况下, Go会为变量或值提供默认值。
Go 语言的每种原生类型都有其默认值, 这个默认值就是这个类型的零值。下面是 Go 规范定义的内置原生类型的默认值(零值)。
2024年09月02日
宕机恢复(recover)--防止程序崩溃
Recover 是一个Golang的内建函数, 可以让进入宕机流程中的 goroutine 恢复过来, recover 仅在延迟函数 defer 中有效, 在正常的执行过程中, 调用 recover 会返回 nil 并且没有其他任何效果, 如果当前的 goroutine 陷入恐慌中, 调用 recover 可以捕获到 panic 的输入值, 并且恢复正常的执行。
2024年09月02日
在Go语言中,布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是 nil。
?
nil 是Go语言中一个预定义好的标识符,有过其他编程语言开发经验的开发者也许会把 nil 看作其他语言中的 null(NULL),其实这并不是完全正确的,因为Go语言中的 nil 和其他语言中的 null 有很多不同点。
2024年09月02日
在日常Golang使用中,你有没有这样的疑惑?
nil是什么?哪些可以用nil?哪些不能用nil?
接下来,我将对这些内容进行总结。
首先nil是一个变量,我们可以在源码包中找到这样的描述:
2024年09月02日
context翻译成中文就是上下文,在软件开发环境中,是指接口之间或函数调用之间,除了传递业务参数之外的额外信息,像在微服务环境中,传递追踪信息traceID, 请求接收和返回时间,以及登录操作用户的身份等等。本文说的context是指golang标准库中的context包。Go标准库中的context包,提供了goroutine之间的传递信息的机制,信号同步,除此之外还有超时(timeout)和取消(cancel)机制。概括起来,Context可以控制子goroutine的运行,超时控制的方法调用,可以取消的方法调用。