学院君的专栏

52 篇文章
11 人订阅

全部文章

学院君

Go 语言并发编程系列(十)—— sync 包系列:互斥锁和读写锁

我们前面反复强调,在 Go 语言并发编程中,倡导「使用通信共享内存,不要使用共享内存通信」,而这个通信的媒介就是我们前面花大量篇幅介绍的通道(Channel),...

7320
学院君

Go 语言并发编程系列(九)—— 利用多核 CPU 实现并行计算

开始之前,我们先澄清两个概念,「多核」指的是有效利用 CPU 的多核提高程序执行效率,「并行」和「并发」一字之差,但其实是两个完全不同的概念,「并发」一般是由 ...

8150
学院君

Go 语言并发编程系列(八)—— 通道类型篇:错误和异常处理

在前面几篇通道教程中,我们陆续介绍了与通道相关的基本语法、单向通道以及 select 语句,有关通道的基本知识就介绍到这里,今天我们来看下通道使用过程中的错误和...

6420
学院君

Go 语言并发编程系列(七)—— 通道类型篇:select 语句及其使用

Go 语言还支持通过 select 分支语句选择指定分支代码执行,select 语句和之前介绍的 switch 语句语法结构类似,不同之处在于 select 的...

7820
学院君

Go 语言并发编程系列(六)—— 通道类型篇:单向通道及其使用

我们介绍了管道类型的基本语法,通常,管道都是支持双向操作的:既可以往管道发送数据,也可以从管道接收数据。但在某些场景下,可能我们需要限制只能往管道发送数据,或者...

5810
学院君

Go 语言并发编程系列(四)—— 协程通信实现之消息传递篇

上篇教程学院君演示了如何通过共享内存实现协程通信,不过这种方式太过繁琐,且维护成本高,Go 语言推荐使用消息传递实现并发通信,这种消息通信机制被称为 chann...

5310
学院君

Go 语言并发编程系列(五)—— 通道类型篇:基本语法和缓冲通道

在上篇教程中,学院君给大家演示了如何通过通道(channel)传递消息实现 Go 协程间的通信, 接下来,我们将通过几篇教程的篇幅来系统了解通道类型及其使用,从...

6330
学院君

Go 语言并发编程系列(三)—— 协程通信实现之共享内存篇

在上篇教程中,我们已经演示了如何通过 goroutine 基于协程在 Go 语言中实现并发编程,从语法结构来说,Go 语言的协程是非常简单的,只需要通过 go ...

5220
学院君

Go 语言并发编程系列(二)—— Go 协程实现原理和使用示例

Go 语言的协程实现被称之为 goroutine,由 Go 运行时管理,在 Go 语言中通过协程实现并发编程非常简单:我们可以在一个处理进程中通过关键字 go ...

8220
学院君

Go 语言并发编程系列(一)—— 多进程、多线程与协程的引入

在原生 PHP 中并没有并发的概念,所有的操作都是串行执行的、同步阻塞的,这也是很多人诟病 PHP 性能的原因,但是不支持并发编程的好处也是显而易见的:保证了 ...

9420
学院君

Go 语言错误及异常处理篇(三):panic 和 recover

前面学院君介绍了 Go 语言通过 error 接口统一进行错误处理,但这些错误都是我们在编写代码时就已经预见并返回的,对于某些运行时错误,比如数组越界、除数为0...

6320
学院君

Go 语言错误及异常处理篇(二):defer 语句

Go 语言中的类没有构造函数和析构函数的概念,处理错误和异常时也没有提供 try...catch...finally 之类的语法,那当我们想要在某个资源使用完毕...

4920
学院君

Laravel 入门项目博客系列教程全部更新完了!

博客是 Web 1.0 的产物,也是 Web 应用中最基础、最简单的应用形态,是静态页面与动态网站最早的分水岭,所以我们从这里出发,开启基于 Laravel 框...

9520
学院君

微信小程序开发入门系列教程

从今天起,学院君将会花大概半个月左右的时间更新微信小程序项目开发入门系列教程,涵盖小程序申请到基础功能的使用,再到一个完整项目的开发上线,希望通过此教程的学习,...

27020
学院君

Go 语言基础入门系列教程 —— 预热篇

Go 语言又称 Golang,由 Google 公司于 2009 年发布,近几年伴随着云计算、微服务、分布式的发展而迅速崛起,跻身主流编程语言之列,和 Java...

7410
学院君

Go 语言基础入门教程 —— Go 项目基本工程管理示例

在上一篇教程中,学院君带着大家搭建起了本地开发环境,并且编写了第一个 Go 程序,向世界问好。不过在实际开发过程中,直接调用编译器进行编译和链接(调用 go b...

9430
学院君

Go 语言基础入门教程 —— 第一个 Go 程序

使用 Go 语言之前,首先要安装 Go。Go 为 Linux、Mac、Windows 等不同的平台分别提供了相应的安装包:https://golang.goog...

8530
学院君

Go 语言面向对象教程 —— 接口篇:接口组合

在上述代码中,我们定义了两个 PHP 接口:A 和 B,其中接口 B 继承自 A,这样一来,如果某个类实现了接口 B,则必须实现这两个接口中声明的方法,否则会报...

10540
学院君

Go 语言基础入门教程 —— 数据类型篇:基本数据类型之间的转化

通过前面几篇教程,我们已经陆续介绍完了 Go 语言中的基本数据类型,分别是布尔类型、整型、浮点型、复数类型、字符串和字符类型,和 PHP 一样,Go 语言也支持...

8640
学院君

Go 语言基础入门教程 —— 变量声明、初始化、赋值和作用域

变量是几乎所有编程语言中最基本的组成元素。从本质上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量...

8830

扫码关注云+社区

领取腾讯云代金券