24、Golang 教程 - select
什么是select select语句用于从多个读写通道中进行选择。select语句将会阻塞,直到有一个读写通道就绪。如果有多个读写通道就绪,会从中任意选择一个。select语法类似switch语句,除了每个case语句必须是通道操作。 让我...
什么是select select语句用于从多个读写通道中进行选择。select语句将会阻塞,直到有一个读写通道就绪。如果有多个读写通道就绪,会从中任意选择一个。select语法类似switch语句,除了每个case语句必须是通道操作。 让我...
什么是缓冲信道 我们在上一个教程中讨论的所有信道基本上都是的无缓冲区的信道,正如我们在 信道教程中详细讨论的那样,对一个无缓冲的信道进行发送 和 接受 数据 都是阻塞的。 我们也可以创建一个带缓冲区的信道,往信道中发送数据时,只有当缓冲区满...
公众号:“皇子谈技术”主理人
在上一篇教程中,我们讨论了如何使用协程在go中实现并发。在本教程中,我们将讨论有关信道以及如何使用信道实现协程间通信。 什么是信道 信道(Channel)可以被认为是协程之间通信的管道。类似于水在管道中从一端流向另一端一样,数据可以从信道的...
在上一篇教程中,我们讨论了并发,以及并发和并行的区别。在这篇教程中我们将讨论在Go中如何通过Go协程实现并发。 什么是协程? Go协程(Goroutine)是与其他函数或方法一起并发运行的函数或方法。协程可以被认为是轻量级线程。与线程相比,...
Go是一种并发语言,而不是并行语言。在讨论如何在Go中处理并发之前,我们必须首先了解什么是并发以及它与并行的区别。 什么是并发? 并发是同时处理大量事情的能力。最好用一个例子来解释。 假设一个人喜欢慢跑。在他早上的慢跑时,他的鞋带开了。现在...
这是介绍接口的第二篇。如果你还没有阅读第一篇,可以在这里阅读。 使用指针接收器和值接收器实现接口 我们在第1部分中讨论的所有示例接口都是使用值接收器实现的。还可以使用指针接收器实现接口。在使用指针接收器实现接口时需要注意一些细微之处。让我们...
什么是接口 在面向对象语言中,接口一般被定义为 :接口定义了对象的一系列行为。接口仅仅指定了一个对象应该做什么。具体怎么做(实现细节)是由对象决定的。 在Go 中,接口是一组方法签名。当一个类型定义了所有接口里的方法时,就说这个类型实现了这...
什么是方法 方法是一个具有特殊的接收器类型的函数,在 func 关键字和函数名之间加入了一个特殊的接收器类型。该接收器可以是结构体类型或非结构体类型。接收器可以在方法内部访问。 以下是创建方法的语法。 func (t Type) metho...
什么是结构体? 结构体是用户定义的类型,表示若干个字段的集合。有时候应该将多个数据分组到一个整体中,而不是将每个数据作为单独的类型进行维护。这种情况下可以使用结构体。 例如,一个员工有 firstName、lastName 和 age 三个...
什么是指针 指针的声明 T是指针变量的类型,它指向类型T的值。 让我们写一些代码。 package main import ( "fmt" ) func main() { b := 255 var a *int = &a...