技术经验分享:Golang标准库:errors包应用
一. errors的基本应用 errors包是一个比较简单的包,包括常见的errors.New创建一个error对象,或通过error.Error方法获取error中的文本内容,本质上在builtin类型中,error被定义为一个interface,这个类型只包含一个Error方法,返回字符串形式的错误内容。应用...
Golang 语言的标准库 os 包怎么操作目录和文件?
01介绍Golang 语言的标准库 os 包提供独立于平台的操作系统相关功能的接口。其设计类似于 Unix,尽管错误处理类似于 Go,调用失败则返回 error 类型的错误,而不是错误编号的值。通常,error 类型的错误中会提供更多信息。例如 Open 或 Stat,如果返回 error,那么错误将在打印时包含失败的文件名,并且错误类型为 *PathError,可以通过 *PathError ....
Golang 语言标准库 bytes 包怎么使用?
01 介绍Golang 语言中内置了两种字符类型,分别是 byte 的字节类类型,和 rune 的字符类类型。其中 byte 是 uint8 的别名,表示 ASCII 码的一个字符,占用 1 个字节,rune 是 int32 的别名,表示 UTF-8 字符,占用 4 个字节。[]byte 表示字节切片,因为字符串也可以表示为字节切片,所以 bytes 包的函数和 strings 包的函数比较相似....
Golang 语言的标准库 log 包怎么使用?
01 介绍Golang 语言的标准库中提供了一个简单的 log 日志包,它不仅提供了很多函数,还定义了一个包含很多方法的类型 Logger。但是它也有缺点,比如不支持区分日志级别,不支持日志文件切割等。02 函数Golang 的 log 包主要提供了以下几个具备输出功能的函数:func Fatal(v ...interface{})func Fatalf(format string, v .......
Golang 语言标准库 context 包控制 goroutine
01介绍在 Go1.7 中,标准库加入了 context 包,context 包定义了一个 Context (上下文)类型,可以在 Api 之间和进程之间传递信息,还提供了超时(timeout)和取消(cancel)机制。Go 标准库中,database/sql,net,net/http 等包中都使用了 Context。在 Go 应用开发中,一般用于请求链路中传递上下文信息,控制子 gorout....
Golang 语言标准库 sync/atomic 包原子操作
01介绍我们已经介绍过 Mutex、RWMutex 等并发原语操作,如果您还没有阅读,请查看文末「推荐阅读」列表。本文我们介绍 sync/atomic 包提供的原子操作的方法,相比并发原语操作,使用原子操作会更轻量。我们知道,相同代码在不同 CPU 架构中编译的结果可能不同,sync/atomic 包提供的原子操作的方法帮我们解决了这个问题,所以如果您想保证原子操作,一定要使用 sync/ato....
Golang 语言使用标准库 net/rpc/jsonrpc 包跨语言远程调用
01介绍Go 语言标准库 net/rpc 默认采用 encoding/gob 包编解码传输数据,gob 编解码方式仅适用于 Go 应用,如果需要跨语言远程调用,可以指定支持跨语言的其他编解码方式,比如 protobuf,或使用 net/rpc 的子包 net/rpc/jsonrpc,它支持JSON-RPC 1.0,通过 json 格式传输数据。02Go 语言 net/rpc/jsonrpc 标准....

Golang语言标准库 sync 包的 Once 怎么使用?
01介绍在 Go 语言中,sync 包有一个 Once 类型,官方文档介绍 Once 是一个只执行一次操作的对象。所以,Once 一般用于并发执行,但只需初始化一次的共享资源。02基本用法Once 的使用也非常简单,Once 只有一个 Do 方法,接收一个无参数无返回值的函数类型的参数 f,不管调用多少次 Do 方法,参数 f 只在第一次调用 Do 方法时执行。代码示例:通过阅读示例代码,可以发....

Golang语言标准库 sync 包的 Cond 怎么使用?
01介绍在 Go 语言中,Cond 实现一个条件变量,协助解决等待或通知事件场景的并发执行问题,通常用于等待某个条件的一组 goroutine。这个条件需要一组 goroutine 共同协作完成,如果条件为 false,所有等待这个条件的 goroutine 将会被阻塞,当这个条件变为 true 时,所有等待这个条件的其中一个 goroutine 或者所有 goroutine 会被唤醒。02基本....

Golang语言标准库 sync 包的 WaitGroup 怎么使用?
01介绍在 Go 语言中,标准库 sync 包的 WaitGroup 用于父线程(goroutine)等待一组子线程(goroutine)结束,如果正在执行的一组子线程还没有全部结束,父线程阻塞在检查点,直到所有子线程全部结束才可以继续执行。02基本使用WaitGroup 提供了 3 个方法,Add、Done 和 Wait,下面分别介绍一下这 3 个方法:Add(delta int):用于设置 ....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。