Go 标准库之 json Go的标准包 encoding/json 实现了json对象的编码和解码。https://pkg.go.dev/json 1、介绍1.1、Go和JSON数据类型 JSON Go Boolean bool Number float64 String string Array []interface{} Object map[string]interface{} NU 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 math 数据常数和函数 https://pkg.go.dev/math 1、介绍Go标准包math,提供了基本的数学常数和数学函数。例如:三角函数、随机数、绝对值、平方等 2、常量2.1、整数1234567891011121314const ( MaxInt8 = 1<<7 - 1 // int8最大值 MinInt8 = -1 << 7 // int8最小值 Max 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 net.http Go 内置的 net/http 包提供了 HTTP 客户端和服务端的实现。 https://pkg.go.dev/net/http 简介net/http 包及其主要功能net/http 是 Go 语言标准库中的一个重要包,用于处理 HTTP 协议相关的操作。它提供了丰富的功能,包括: Request,HTTP请求对象 Response,HTTP响应对象 Clie 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 net.http 之 transport 源码解析 database/sql 包提供了保证SQL或类SQL数据库的泛用接口,常用的数据库驱动有 github.com/go-sql-driver/mysql https://pkg.go.dev/database/sql 环境下述代码来自 golang 源码的 src/net/http/transport.go 文件,不同版本的 golang 的源码有差异,不过整体思 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 net.http 之 transport 自定义 database/sql 包提供了保证SQL或类SQL数据库的泛用接口,常用的数据库驱动有 github.com/go-sql-driver/mysql https://pkg.go.dev/database/sql 过滤请求方法我们可以使用 http.Transport 的RoundTrip方法来定制HTTP请求。通过定义一个实现了http.RoundTripp 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 net.url Go 内置的 net/url 包提供了用于 URL 解析、构建和查询的功能。这个包使我们能够处理 URL,从中提取出各个部分,比如协议、主机、路径和查询参数等。 https://pkg.go.dev/net/url 简介格式 123<schema>://<user>:<password>@<host>:<port>/< 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 os https://pkg.go.dev/os 1、介绍os包中提供了操作系统函数的接口,是一个比较重要的包。它的作用主要是在服务器上进行系统的基本操作,如文件操作、目录操作、执行命令、信号与中断、进程、系统状态等等。下面分模块归纳一些常用函数。 2、系统信息2.1、函数列表 函数 功能 Hostname() 获取当前主机名 Getpid() 返回调用者所在进程的进程ID Get 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 os 文件操作 https://pkg.go.dev/os 1、介绍在Go语言中,文件操作的大多数函数都在os包里面,文件的信息包括文件名、文件大小、修改权限、修改时间等。 1.1、文件接口属性(FileInfo)12345678type FileInfo interface { Name() string // 文件名 Size() int64 // 文件大小 Mode 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 regexp https://pkg.go.dev/regexp 注意regexp 对 \u 支持不好,详见 https://github.com/google/mtail/issues/257 所以不能直接用 [\u4e00-\u9fa5],有两种解决办法 12345// 函数Compile和MustCompile传入参数时要写在英文双引号里面,不可以是单引号,也不可以是特殊字符 ` ,就是esc键底 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 sort https://pkg.go.dev/sort 总结123456789101112sort.Float64s(fs) // 将[]float64按升序排序sort.Float64AreSorted(fs)// 如果[]float64是有序的则返回Truesort.Ints(is) // 将[]int按升序排序sort.IntAreSorted(is) / 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 strconv 字符串转换 https://pkg.go.dev/strconv Go 不会对数据进行隐式的类型转换,只能手动去执行转换操作。strconv 包提供了许多可以再字符串和其他类型的数据之间进行转换的函数 方法总结1234567891011121314151617181920212223242526272829// 参数 bs 是一个 []byte 切片,base 是一个进制单位(2~36), // bi 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 string https://pkg.go.dev/string 方法总结1234567891011121314151617181920212223242526272829303132333435363738strings.Split(names,".")// 分隔字符串,以.为分隔符strings.SplitAfter() // 保留分隔符strings.SplitN() // 指 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 sync sync包对并发和同步机制进行了实现。 https://pkg.go.dev/sync 1、介绍sync包提供了互斥锁。除了Once和WaitGroup类型,其余多数适用于低水平的程序,多数情况下,高水平的同步使用channel通信性能会更优一些。 2、并发等待组(WaitGroup)WaitGroup,即等待一组Goroutine结束。父Goroutine调用Add()方法来设置应等待Gor 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 time time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 https://pkg.go.dev/time 1、时间中的类型1.1、时间time.Time 类型表示时间。我们可以通过 time.Now() 函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。示例代码如下: 12345678910111213func timeDemo() { now := ti 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 unicode unicode 包主要提供了一些用来检查 Unicode 码点是否符合主要标准的函数。 例如,判断一个字符是否是一个数字或者小写字母 https://pkg.go.dev/unicode 1、unicode 包的函数 变量c是一个rune类型变量,表示一个Unicode码点。 12345678910111213141516171819unicode.Is(table, c) // 如果 2024-12-03 Go > Go 标准库 #Go #Go 标准库
Go 标准库之 utf8 https://pkg.go.dev/utf8 方法总结1234567891011121314// 使用 utf8 包里的函数需要在程序中导入“unicode/utf”,变量 b 是一个 []byte 类型的切片,s 是字符串,c 是一个 rune 类型的 unicode 编码utf8.DecodeLastRune(b) // 返回b中最后一个rune和它占用的字节数,或者U+F 2024-12-03 Go > Go 标准库 #Go #Go 标准库
前后端分离开发理解 前后端开发在传统的web应用开发中,大多数人将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端 之前以为前后端分离只是一种web应用开发模式,只要在web应用的开发期进行了前后端开发工作的分工就是前后端分离。其实前后端分离并不只是开发模式,而是web应用的一种架构模式。 在开发阶段,前后端工程师要提前约定好 2024-12-03 Go > Go 标准库 #Go #Go 标准库
01-单引号、双引号、反引号 Go 中的单引号 (‘)、双引号 (“) 和反引号 (`)在 Go 中,单引号 (‘)、双引号 (") 和反引号 ( \ `) 都有不同的用途和含义,具体如下: 1、单引号 (')单引号用于表示 字符字面量(单个字符)。在 Go 中,字符是一个单独的 Unicode 字符,并且它的类型是 rune(即 int32 类型)。 表示单个字符(rune): 1var c 2024-12-02 Go #Go
01-数据类型 1、数据类型分类值类型:基本数据类型是Go语言实际的原子,复合数据类型是由不同的方式组合基本类型构造出来的数据类型,如:数组,slice,map,结构体 1234567整型 int8,uint # 基础类型之数字类型浮点型 float32,float64 # 基础类型之数字类型复数 # 基础类 2024-12-02 Go #Go
01-数据类型之值类型之 byte 和 rune 组成每个字符串的元素叫做字符。可以通过遍历或者单个获取字符串元素获得字符,遍历的函数有两个,分别是 byte 和 rune bytebyte 是 uint8 的别称,使用 byte 主要是为了区分字节和无符号整型两种类型 byte 代表了 ASCII 码的一个字符,直接打印字节输出的是 ascii 码,字节必须使用单引号包起来,需要通过格式化输出 示例: 1234func main() 2024-12-02 Go #Go