Go to Learn Go
文章平均质量分 86
本专栏带你学习Go语言的基础知识,以及常用库的使用,帮你理解透彻,灵活运用,Let‘s Go to Learn Go
希望_睿智
中国科学技术大学毕业,专注于音视频领域近二十年,全网访问量近500万,粉丝近10万。在嵌入式开发、运营级平台、音视频编解码、视频图像处理、流媒体、深度学习、人工智能等多个方向具备实战开发经验和技术积累,共发表发明专利十余项,软件著作权几十项。商务合作和推广,可私信联系。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go to Learn Go之前世今生
Go语言正式发布于2009年11月,由Google主导开发。它是一种针对多处理器系统应用程序的编程语言,被设计成一种系统级语言,具有非常强大和有用的特性。Go语言的程序速度可以与C、C++相媲美,同时更加安全,支持并行进程。此外,Go语言也支持面向对象编程,并具有真正的闭包、反射等功能。原创 2023-10-23 06:00:00 · 2313 阅读 · 26 评论 -
Go to Learn Go之第一个Go程序
在上一节的内容中,我们介绍了Go的前世今生,包括:Go的诞生、发展历程、特性和应用领域。从本节开始,我们将正式学习Go语言。Go语言是一种编译型语言,也就是说,Go语言在运行之前需要先进行编译,生成可执行文件,然后才能在计算机上运行。在编写第一个Go程序之前,我们还有一些准备工作需要做:安装Go语言环境。原创 2023-10-25 06:00:00 · 2005 阅读 · 35 评论 -
Go to Learn Go之基础语法
在上一节的内容中,我们介绍了第一个Go程序,包括:安装Go环境、编写第一个Go程序、编译并运行程序等。在本节中,我们将介绍Go的基础语法。Go是一门简洁和优雅的语言,有自己特殊的一些语法规则。因此,在介绍Go编程的有关知识之前,先熟悉下Go的基础语法,是非常有必要的。截止到2023年10月,Go的最新版本为1.21,本专栏将使用Go 1.21的语法介绍相关知识。原创 2023-10-30 07:00:00 · 1736 阅读 · 33 评论 -
Go to Learn Go之基本数据类型
在上一节的内容中,我们介绍了Go的基础语法,包括:标识符、关键字、行分隔符、var关键字、:=运算符、空格、注释、package、import、输入输出、运算符、条件控制、循环等。在本节中,我们将介绍Go的基本数据类型。Go语言是一种静态类型的编程语言,这也就意味着,声明变量需要指定其具体类型,或者交由编译器进行自动推导。在Go语言中,数据类型是编程的基础,它定义了变量或表达式的存储方式和行为。原创 2023-11-01 07:00:00 · 931 阅读 · 29 评论 -
Go to Learn Go之数组
在上一节的内容中,我们介绍了Go的基本数据类型,包括:布尔类型、整数类型、浮点数类型、复数类型、字符串类型等。在本节中,我们将介绍Go的数组。Go语言中的数组是一种固定长度的数据结构,它包含一组按顺序排列的元素,每个元素都具有相同的类型。数组的元素可以是任何类型,包括基本类型和复合类型。原创 2023-11-03 07:00:00 · 1022 阅读 · 32 评论 -
Go to Learn Go之切片
在上一节的内容中,我们介绍了Go的数组,包括:声明数组、初始化数组、访问数组元素等。在本节中,我们将介绍Go的切片。在Go语言中,数组的长度是固定的,不能改变,这在某些场景下使用不太方便。切片(slice)是一种动态数组,它提供了更为灵活和便捷的方式来操作数组。切片是对数组的抽象,它包含了指向数组元素的指针、切片的长度和容量。原创 2023-11-07 08:30:43 · 1046 阅读 · 29 评论 -
Go to Learn Go之指针
在上一节的内容中,我们介绍了Go的切片,包括:声明切片、初始化切片、切片的切割、切片的添加、切片的删除、切片的复制、切片的遍历、多维切片等。在本节中,我们将介绍Go的指针。Go语言中的指针是一种特殊的数据类型,它存储了一个变量的内存地址。指针允许我们通过这个内存地址直接访问该变量的值,当然,也可以修改该变量的值。指针在Go语言中经常用于优化性能、处理复杂数据结构以及实现高级功能。原创 2023-11-09 06:30:00 · 846 阅读 · 26 评论 -
Go to Learn Go之函数
在上一节的内容中,我们介绍了Go的指针,包括:使用指针、空指针、指针数组、指向指针的指针等。在本节中,我们将介绍Go的函数。函数允许开发者将相关的代码组织在一起,并将其命名,以便在其他地方进行调用。在Go语言中,函数是一段可重用的代码块,用于执行特定的操作。// 函数体// 可以在这里执行一些操作// 函数结束时,可返回一个或多个值下面详细介绍上述格式中的各个元素。func:关键字,用于声明一个函数。funcName:函数的名称,用于标识函数的唯一标识符。原创 2023-11-11 21:07:15 · 1325 阅读 · 23 评论 -
Go to Learn Go之结构体
在上一节的内容中,我们介绍了Go的函数,包括:函数定义、函数声明、函数调用、可变参数函数、匿名函数、递归函数、高阶函数等。在本节中,我们将介绍Go的结构体。在Go语言中,结构体是一种用户定义的数据类型,它允许你组合不同类型的字段来表示一个复杂的数据结构。结构体可以包含零个或多个字段,每个字段都有一个名称和一个对应的数据类型。在Go语言中,我们使用type关键字来定义一个结构体类型,并指定结构体的字段及对应的数据类型。以下是定义结构体的基本语法:// ...原创 2023-11-13 06:00:00 · 1096 阅读 · 26 评论 -
Go to Learn Go之映射
在上一节的内容中,我们介绍了Go的结构体,包括:定义结构体、声明结构体变量、使用结构体、结构体关联函数、new、组合等。在本节中,我们将介绍Go的映射。Go语言中的映射(Map)是一种无序的键值对集合,使用关键字map来声明,并使用键和值类型作为参数。它是一个用于存储一系列无序的键值对的集合,基于键来存储值,键就像索引一样,指向与该键关联的值。映射被创建和初始化后,可以通过指定适当类型的键并给这个键赋一个值来为映射赋值,每个键必须是唯一的。另外,映射是可变的,可以在已有的键值对基础上添加新的键值对。原创 2023-11-14 06:00:00 · 1466 阅读 · 20 评论 -
Go to Learn Go之作用域
在上一节的内容中,我们介绍了Go的映射,包括:声明映射、初始化映射、操作映射等。在本节中,我们将介绍Go的作用域。在Go语言中,作用域是指变量的可见性范围,它定义了变量在程序中的生命周期和可访问性。Go语言中的作用域可以分为以下几种:局部作用域、全局作用域、命名空间作用域,下面分别进行介绍。原创 2023-11-15 06:00:00 · 1451 阅读 · 23 评论 -
Go to Learn Go之接口
在上一节的内容中,我们介绍了Go的作用域,包括:局部作用域、全局作用域、命名空间作用域等。在本节中,我们将介绍Go的接口。Go语言中的接口是一种类型,它定义了一组函数的集合。接口是一种抽象的描述,它定义了一个对象的行为,而不关心对象的具体类型。通过接口,可以实现多态性,即一个对象可以实现多个接口,从而实现不同接口的行为。在Go语言中,接口是一种定义了一组函数签名的抽象类型。这些函数签名包括:函数的名称、参数列表和返回类型。一个类型如果满足某个接口的所有函数,则称该类型实现了该接口。原创 2023-11-17 06:00:00 · 1796 阅读 · 32 评论 -
Go to Learn Go之错误处理
在上一节的内容中,我们介绍了Go的接口,包括:定义接口、实现接口、使用接口、空接口等。在本节中,我们将介绍Go的错误处理。在Go语言中,错误处理是一种重要的编程模式,它用于处理可能出现的错误或异常情况。Go语言采用了一种简洁而直接的错误处理方式,通过使用内置的error类型和约定的返回值,开发人员可以有效地处理和传递错误信息。原创 2023-11-18 20:18:22 · 1278 阅读 · 15 评论 -
Go to Learn Go之类型转换
在上一节的内容中,我们介绍了Go的错误处理,包括:errors包、返回错误、抛出异常、捕获异常等。在本节中,我们将介绍Go的类型转换。在Go语言中,类型转换是一种将一个值从一种类型转换为另一种类型的过程。类型转换主要有4种,分别为:断言类型转换、显式类型转换、隐式类型转换、强制类型转换。下面将分别进行介绍。原创 2023-11-20 06:00:00 · 1452 阅读 · 27 评论 -
Go to Learn Go之并发
在上一节的内容中,我们介绍了Go的类型转换,包括:断言类型转换、显式类型转换、隐式类型转换、强制类型转换、strconv包等。在本节中,我们将介绍Go的并发。Go语言以其强大的并发模型而闻名,其并发特性主要通过以下几个元素来实现:Goroutines、Channels、WaitGroups、Mutex和Select。通过结合使用以上元素,Go语言提供了强大的并发支持,使得编写高效、高性能、高吞吐量的并发程序变得相对容易。原创 2023-11-22 06:00:00 · 2527 阅读 · 24 评论 -
Go to Learn Go之反射
在上一节的内容中,我们介绍了Go的并发,包括:Goroutines、Channels、WaitGroups、Mutex、Select等。在本节中,我们将介绍Go的反射。Go语言中的反射是一种在运行时检查类型信息并操作对象的能力,通过反射,你可以动态地检查变量的类型、调用函数、修改变量的值。在Go语言中,反射主要通过reflect包来实现。这个包提供了一组函数,用于在运行时动态地分析和操作对象的类型和值。反射是一种强大而复杂的特性,通常不建议在常规的程序中使用过多。因此,下面只介绍一些常见的反射操作。原创 2023-11-24 06:00:00 · 2610 阅读 · 29 评论 -
Go to Learn Go之文件操作
在上一节的内容中,我们介绍了Go的反射,包括:reflect.TypeOf、reflect.ValueOf、reflect.Value等。在本节中,我们将介绍Go的文件操作。在Go语言中,文件是一个抽象的概念,表示的是一段连续的字节序列。文件操作主要包括:文件的创建、读取、写入、删除,以及目录的创建、删除、文件遍历等。Go语言提供了许多内置的函数和包,使得文件操作变得非常简单和高效。原创 2023-11-27 07:00:00 · 1248 阅读 · 20 评论 -
Go to Learn Go之Gob
在上一节的内容中,我们介绍了Go的文件操作,包括:读取文件、写入文件、删除文件、目录操作、遍历目录下文件等。在本节中,我们将介绍Go的Gob。Gob是Go语言中的一种序列化二进制格式,用于在Go语言之间进行数据传输和持久化存储,具有高效和紧凑的特点。Gob编码器将Go语言中的数据结构转换为二进制格式,而Gob解码器则将二进制格式的数据解码为Go语言中的数据结构。Gob使用可扩展的编码方案,可以处理任意类型的数据结构,包括:数组、切片、映射、嵌套结构等。原创 2023-11-28 07:00:00 · 1822 阅读 · 22 评论 -
Go to Learn Go之时间日期
在上一节的内容中,我们介绍了Go的Gob,包括:Gob简介、Gob编码、Gob解码等。在本节中,我们将介绍Go的时间日期。Go语言提供了一套强大的时间日期处理库,使得处理时间和日期变得简单和高效。Go语言中处理日期和时间的常用方式是使用time包,这个包提供了许多用于日期和时间操作的功能,包括:获取当前时间、格式化时间、计算时间差、处理时区等。原创 2023-11-29 07:00:00 · 1852 阅读 · 27 评论 -
Go to Learn Go之命令行参数
在上一节的内容中,我们介绍了Go的时间日期,包括:time包、格式化日期、日期字符串解析、计算日期差、时区操作、定时任务等。在本节中,我们将介绍Go的命令行参数。命令行参数在程序设计中扮演着重要的角色,它允许用户在运行程序时提供自定义的输入,以控制程序的行为。Go语言提供了灵活且强大的命令行参数处理机制,既可以使用os.Args,也可以使用flag包。原创 2023-12-01 07:00:00 · 1525 阅读 · 25 评论
分享