Happy New Year to Everyone🎇

  • 用组合代替继承

    Go不支持继承,但它支持组合。组合的一般定义是 “组合在一起”。组成的一个例子是一辆汽车。一辆汽车是由车轮、发动机和其他各种部件组成的。 通过嵌入结构进行组合Go中可以通过将一个结构类型嵌入另一个结构类型来实现组合。 博客文章就是一个完美的组合例子。...
  • 用结构代替类

    Go是面向对象的吗?Go不是一种纯粹的面向对象的编程语言。这段摘录自Go的FAQ,回答了Go是否是面向对象的问题。 Yes and no. Although Go has types and methods and allows an object...
  • Mutex

    在本教程中,我们将学习关于互斥的知识。我们还将学习如何使用互斥器和通道来解决竞争条件。 关键部分在学习mutex之前,了解并发编程中的关键部分的概念是很重要的。当一个程序并发运行时,修改共享资源的代码部分不应该被多个Goroutine同时访问。这个修...
  • Select

    什么是select?select语句用于从多个发送/接收通道操作中进行选择。选择语句会阻塞,直到其中一个发送/接收操作准备好。如果多个操作都准备好了,就会随机选择其中一个。语法与switch类似,只是每个case语句都是一个通道操...
  • 缓冲通道和工作池

    什么是缓冲通道?我们在之前的教程中讨论的所有通道基本上都是无缓冲的。正如我们在通道教程中详细讨论的那样,向无缓冲通道的发送和接收是阻塞的。 我们可以创建一个有缓冲区的通道。只有当缓冲区满了的时候,向缓冲区的发送才会被阻止。同样,从一个缓冲通道的接收只...
  • Channels

    在上一篇教程中,我们讨论了如何在Go中使用Goroutines实现并发性。在本教程中,我们将讨论通道以及Goroutines如何使用通道进行通信。 什么是通道通道可以被认为是Goroutines用来通信的管道。类似于管道中水从一端流向另一端的情况,数...
  • JavaScript教程

    ◼ JavaScript是一种广泛用于Web编程的轻量级脚本语言,用来处理页面逻辑和用户交互。 ◼ JavaScript遵循ECMAScript规范,目前常用版本是ES6(ECMAScript 6.0, 2015年6月发布)。 ◼ ECMAScr...
  • Goroutines

    在上一篇教程中,我们讨论了并发性以及它与并行性的区别。在本教程中,我们将讨论如何在Go中使用Goroutines实现并发。 什么是Goroutines?Goroutines是与其他函数或方法同时运行的函数或方法。Goroutines可以被认为是轻量级...
  • 并发性简介

    Go是一种并发语言,而不是一种并行语言。在讨论Go中如何处理并发问题之前,我们必须首先了解什么是并发,以及它与并行有什么不同。 什么是并发性?并发是指同时处理很多事情的能力。用一个例子来解释它是最好的。 让我们考虑一个人在慢跑。在他的晨跑中,假设他的...
  • 接口-II

    使用指针接收器和值接收器来实现接口我们在第一部分讨论的所有接口实例都是用值接收器实现的。也可以使用指针接收器来实现接口。在使用指针接收器实现接口时,有一个细微的问题需要注意。让我们通过下面的程序来理解。 12345678910111213141516...
/23