发布时间:2021/12/01 作者:迹忆客 分类:Go
本篇我们对go select进行深入详细的介绍。select 语句用于从多个发送/接收通道操作中进行选择。...
查看全文发布时间:2021/11/29 作者:迹忆客 分类:Go
要了解工作池,我们首先需要了解 WaitGroup,因为它将在工作池的实现中使用。WaitGroup 用于等待一组 Goroutine 完成执行。 控制被阻塞,直到所有 Goroutines 执行完毕。 ...
查看全文发布时间:2021/11/29 作者:迹忆客 分类:Go
Channel缓冲(Channel buffer)的重要用途之一是实现工作池。通常,工作池是等待分配给它们的任务的线程的集合。 一旦他们完成分配的任务,他们就会再次为下一个任务提供服务。...
查看全文发布时间:2021/11/25 作者:迹忆客 分类:Go
Channel 缓冲的容量是通道可以容纳的值的数量。 这是我们在使用 make 函数创建缓冲通道时指定的值。...
查看全文发布时间:2021/11/22 作者:迹忆客 分类:Go
什么是缓冲通道?我们在Go 语言Channel 通道详解中讨论的所有通道基本上都是无缓冲的。 正如我们在文章中详细讨论的那样,向无缓冲通道的写入和读取都是阻塞的。...
查看全文发布时间:2021/11/12 作者:迹忆客 分类:Go
Go recover 是一个内置函数,用于重新获得对panic 程序的控制。本篇介绍 Go recover panic的组合使用...
查看全文发布时间:2021/11/11 作者:迹忆客 分类:Go
Go语言中panic 和 defer 堪称是完美组合。当一个函数遇到 panic 时,它的执行会停止,任何 defer 函数 都会被执行,然后控制权返回给它的调用者。...
查看全文发布时间:2021/11/11 作者:迹忆客 分类:Go
本篇介绍Go Panic 用法。Go panic 处理程序中出现异常导致程序无法继续向下执行的情况。我们可以使用 panic 提前终止程序。...
查看全文发布时间:2021/11/04 作者:迹忆客 分类:Go
这里我们继续对Go中的错误处理做进一步的介绍。`DNSError` 结构体有两个方法 `Timeout() bool` 和 `Temporary() bool` ,它们返回一个布尔值,指示错误是由于超时还是临时错误。...
查看全文发布时间:2021/11/03 作者:迹忆客 分类:Go
在 Go 语言 defer(延迟) 关键字基本用法详解 这篇文章中,我们详细介绍了 defer关键字的作用以及通过简单示例来了解了defer函数的参数问题。下面我们对defer进行一个比较深入的探讨...
查看全文发布时间:2021/11/03 作者:迹忆客 分类:Go
Defer 语句用于在使用defer关键字的函数返回之前执行函数调用。largest() 函数的第一行包含语句 defer finished()。 这意味着 finished() 函数将在 largest() 函数返回之前被调用。 运行这个程序,...
查看全文发布时间:2021/10/27 作者:迹忆客 分类:Go
Go 面向对象中的多态性是在接口(Interface)的帮助下实现的。 正如我们已经讨论过的,Go 中的接口是隐式实现的。 如果某一类型为接口中声明的所有方法提供定义,则认为该类型实现了...
查看全文