Go语言学习笔记.pptx
Go语言学习笔记汇报人:文小库2024-01-08
Go语言概述Go语言基础Go语言进阶Go语言标准库Go语言实践Go语言社区和资源目录
Go语言概述01
Go语言由Google于2007年开发,旨在解决大规模并发处理和网络编程的问题。Go语言具有简洁的语法、强大的并发处理能力、内置的垃圾回收机制、静态类型检查等特性。Go语言的起源和特点特点起源
语法Go语言的语法简洁明了,易于学习。它使用关键字来定义变量、函数、条件语句等。关键字Go语言有一些保留的关键字,如`func`、`var`、`if`、`for`等,这些关键字用于定义函数、变量和执行控制流操作。Go语言的语法和关键字
Go语言的程序结构程序结构Go语言程序由包、函数、变量等组成。程序通常包含一个或多个包,每个包包含一组相关的函数和变量。包管理Go语言使用`import`关键字来导入其他包,以便使用它们的功能。包管理工具如`goget`用于下载和安装第三方库。
Go语言基础02
在Go语言中,变量是用来存储数据的容器。变量在使用前必须先声明,然后才能使用。变量的声明包括变量名和数据类型。变量常量是在程序运行期间不能改变的值。常量的声明使用关键字`const`,并指定常量的名称和值。常量变量和常量
VSGo语言支持多种基本数据类型,包括整数类型、浮点数类型、布尔类型、字符串类型等。复合数据类型复合数据类型是由基本数据类型组合而成的,包括数组、切片、映射、结构体等。基本数据类型数据类型
运算符Go语言支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。表达式表达式是由运算符和操作数组成的,用于计算并返回一个值。表达式可以根据运算符的优先级进行计算。运算符和表达式
if语句用于根据条件执行不同的代码块。switch语句用于根据不同的条件执行不同的代码块。for语句用于重复执行一段代码,可以包含初始化语句、条件语句和后续语句。while语句用于在条件为真时重复执行一段代码。控制流语句
函数和方法函数是用来执行特定任务的代码块。函数可以接受输入参数并返回结果。函数方法是与特定类型关联的函数。方法可以通过点符号来调用,并可以在该类型的实例上调用。方法
Go语言进阶03
Go语言中的指针是一种变量,它存储了另一个变量的内存地址。通过指针可以直接访问和修改变量的值。Go语言使用垃圾回收机制自动管理内存,程序员无需手动释放内存。了解内存分配和垃圾回收机制有助于优化程序性能。指针内存管理指针和内存管理
GoroutineGoroutine是Go语言的轻量级线程,可以并发执行函数或方法。通过关键字go可以启动一个新的Goroutine。要点一要点二ChannelChannel是用于在Goroutine之间进行通信的管道。通过通道可以发送和接收数据,实现并发程序中的同步和协调。并发编程(goroutine和channel)
错误处理Go语言鼓励使用错误返回值来处理异常情况,而不是异常抛出。程序员需要检查每个函数返回的错误值,并进行相应的处理。Panic/RecoverPanic是Go语言中的异常机制,会导致程序中断并输出异常信息。Recover用于捕获Panic,允许程序从中断处恢复执行。错误处理和panic/recover机制
接口接口是Go语言中的一种类型,它定义了一组方法的集合。通过接口可以实现多态性,使得不同类型的对象可以以统一的方式进行处理。类型系统Go语言具有静态类型系统,变量在声明时必须指定类型。此外,Go语言还支持类型推断,可以根据赋值的值自动推断变量类型。接口和类型系统
Go语言标准库04
文件打开与关闭使用`os.Open`和`os.Close`函数打开和关闭文件,获取文件信息、读写文件内容等操作。文件读写使用`os.Read`、`os.Write`、`os.ReadDir`等函数进行文件的读写操作。文件锁定使用`sync.Mutex`和`sync.RWMutex`进行文件的互斥和读写锁定。文件I/O操作030201
03WebSocket编程使用`net/websocket`包实现WebSocket协议,进行实时通信。01TCP/UDP套接字编程使用`net`包提供的函数和类型,创建TCP和UDP连接,进行数据传输。02HTTP编程使用`net/http`包处理HTTP请求和响应,构建Web服务器和客户端。网络编程
使用`database/sql`包进行数据库连接和操作,支持多种数据库后端。数据库连接使用GORM等ORM框架简化数据库操作,实现对象关系映射。ORM框架使用事务处理确保数据库操作的原子性和一致性。事务处理数据库操作
字符串操作使用`strings`包进行字符串的分割、拼接、替换等操作。正则表达式使用`regexp`包进行正则表达式的匹配、查找、替换