分类: 技术
-
Golang 标准库(二)
Golang 标准库(二) net net包及其子包 net/http、net/url 包等提供了HTTP、TCP、UDP 等网络协议和相关辅助功能的实现。 HTTP协议 http 服务端的实现主要包…
-
Golang 标准库(一)
Golang 标准库(一) fmt 提供格式化输入与输出操作。 格式化输出 打印到控制台: func Print(a …interface{}) (n int, err error) 打印…
-
算法基础
算法 基本概念 算法:解决问题的方法和思想。 时间复杂度:算法执行时间与输入规模之间的关系。 空间复杂度:算法执行过程中使用的额外空间与输入规模之间的关系。 时间复杂度一般指最坏情况的时间复杂度。 大…
-
Golang 底层原理
Golang 底层原理 字符串实现原理 字符串底层是只读字节数组,字符串结构包括数组指针和长度。 字符串默认用utf-8编码,一个中文为3字节。 如果要获取字符串上的字符,可以先转换成rune切片。 …
-
Golang 基础(三)
Golang 基础(三) 并发 背景知识 串行、并行与并发的区别: 串行是指多个任务按照时间先后由一个处理器逐个执行。 并行是指多个任务在同一时间由多个处理器同时执行。 并发是指多个任务在宏观上并行执…
-
Golang 基础(二)
Golang 基础(二) 函数 定义与使用 Go 语言的函数定义语法如下: func functionName(param1 type1, param2 type2, …) (result1 …
-
Golang 基础(一)
Golang 基础(一) 简介 历史与发展 Go 语言由Google开发,起源于 2007 年,开源于 2009 年。 诞生背景,主要是解决其他语言的历史包袱重、复杂、编译慢等问题。 其设计理念是le…
-
网络IO模型
背景知识 网络通信过程 TCP 和 UDP 协议通信都是通过操作系统的 Socket 来实现。 服务端调用 socket()函数,指定网络协议和传输协议创建 Socket。 服务端调用 bind()函…
-
Linux 内核(二)
Linux 内核(二) 进程管理 进程的定义 进程:程序关于某数据集合的一次运行活动,是系统进行资源分配和调度的独立单位。 PCB(进程控制块) 操作系统管理和控制进程的数据结构,具体实现是task_…