之前在写一个并发聊天室时候在多个客户端连续发送数据的时候遇到EAGIN错误,如图。

Linux下,管道、FIFO以及一些设备(通常是终端和网络)一般有以下几种性质。
Go 的处理异常逻辑是不引入 exception,支持多参数返回,所以你很容易的在函数签名中带上实现了 error Interface 的对象,交由调用者来判定。如果一个函数返回了 value, error,你不能对这个 value 做任何假设,必须先判定 error。唯一可以忽略 error 的是,如果你连 value 也不关心。
链表在Linux内核中可以说是一种最简单的、也是最普通的一种线性的数据结构。链表是一种存放和操作可变数量元素(通常我们称之为节点)的数据结构。
可以用最简单的数据结构来表示这样一个链表:
1 | /* 一个链表中的一个一个元素 */ |
下图描述一个链表结构体:
排序算法对于我们程序员来讲肯定是不陌生的,我们平时工作的过程中肯定也遇到需要对数据就行排序的情况。现在大多数的高级语言已经对这些排序算法进行封装,并且性能也很不错,但是了解这些算法背后的思想却是很有必要的,能够很好提升我们思维。
十大经典排序算法为:冒泡,选择,插入、希尔、归并、快速、堆、计数、桶、基数