22.1 TCP/IP协议栈 TCP/IP(Transmission Control Protocol/I...[作者空间]
Go 语言内置包 database/sql 为所有数据库提供了通用接口,也就是说所有数据库的增删改查操作在...[作者空间]
在Go语言中,通道(Channel)是一种强大的并发编程工具,主要用于在不同的Goroutine之间传递数...[作者空间]
在学习并发编程之前,我们先来了解一下一些相关的术语:进程、线程、并行、并发、同步、异步、阻塞、非阻塞、协程等概念。 19.1 进程/线程 进程是计算机中的程序...[作者空间]
18.日志 18.1 自带log包 在日常项目,在出现问题之后需要排查,一种比较主要的排查方式是通过日志。所以在代码的关键地方,需要打印相应的日志。在Go语言中log...[作者空间]
17.时间处理 日期和时间是日常编程常用的功能之一。如果没有日期和时间,会导致很多功能无法实现,例如日志记...[作者空间]
16.目录与文件 任何编程语言在运行时都依赖于操作系统,所以程序在运行时会对系统文件、目录等执行一些相应操作,例如文件读写、执行系统命令、创建新的目录等。在Go语言中...[作者空间]
15.1 模块化 用任何语言开发,如果软件规模扩大,会编写大量的函数、结构体、接口等。而这些代码不可能全部写在同一个文件中,因此就会产生大量的文件。如果这些文件是杂乱...[作者空间]
Go语言自带有一套完整的命令行操作,可以在终端中执行go来进行查看,如下所示: 这些命令对于我们在日常编写代码时非常有用,来看看一些常用的命令 14.1 go...[作者空间]
本节主要来学习Go语言中存在一些独有特性 13.1 值类型/引用类型 Go语言中针对不同的数据类型可以分为值类型和引用类型变量,两者描述如下所示: 值类型变量...[作者空间]
Go语言在v1.18版本添加。其中泛即通用的意思。 12.1 泛型函数 如果没有泛型,同一种类型需要使用重载功能,但Go又不支持重载功能。如果写一个简单的加法...[作者空间]
11.异常处理 在大部分的编程语言都支持异常处理机制,例如比较常见的try...catch...finally。但Go语言的设计者认为其他语言的异常处理太过消耗资源,...[作者空间]
在学习接口时,已经接触了一些面向对象的概念,在这个章节中,我们来重点学习一下面向对象的相关概念。 面向对象程序设计(OOP:Object-oriented p...[作者空间]
9.接口 Go语言提供了一种称为接口(interface)的数据类型,用于表示一组行为规范,即定义一组未实现的函数声明。谁调用接口谁负责参照接口的方法负责实现它们。 ...[作者空间]
8.结构体 Go语言的结构体有点像面向对象编程语言中的"类",但也不完全是。 面向对象是一种对现实世界理解和抽象的一种方法,通过抽象把相关的数据和方法组织为一个整体来...[作者空间]
7. 函数 7.1 函数定义 在Go语言中,函数是若干语句组成的语句块、函数名称、参数列表、返回值构成,是组织代码的最单元。使用函数的主要作用如下所示: 结构化编程是...[作者空间]
6. 容器类型 6.1 数组 数组是一个固定长度的特定相同类型元素组成的序列。其元素个数可以为>=0个。...[作者空间]
5.指针 5.1 指针概念 指针是一个指向内存地址的变量。示意图如下所示: 在定义变量的时候,计算机会为变量自动分配内存地址,指针则是用来存储这些变量的内存地...[作者空间]
4.流程控制 4.1 if-else 语句 条件判断是由if语句实现,根据条件的结果true和false来...[作者空间]
3.数据类型 3.1 整型 整型通常是指没有小数部分的数据。可以使用八进制、十进制、十六进制来表示。在数据...[作者空间]