本人自定义的GO包说明【实用,建议收藏】
项目地址:https://gitee.com/zht639/my_gopkg
自定义的golang包,包含许多实用和方便的功能,以下是使用说明和包的介绍。注意:包会更新,只介绍截止目前的包,具体看上方链接
一、使用说明
1.本地调用
打开项目根目录,在该目录下打开命令行,然后按如下步骤操作。
(1)初始化本地mod(有则跳过此步)
go mod init 你的模块名
(2)下载到本地(若之前就下载过,请忽略此步,转至第四步)
go get gitee.com/zht639/my_gopkg
(3)在go文件中导包即可
import "你的模块名/我的包名"
(4)若之前就下载过我的包,则需要打开mod,删除require语句,再执行如下指令
go mod tidy
2.单元测试
每个包下都有测试文件,每个测试文件都会测试多个函数,读者可在包目录下执行如下命令,一键测试所有函数:
go test ./...
若要测试其中一个,命令是:
go test -run 函数名 ./包名
当然,这样做比较麻烦,IDE对于测试文件一般都有启动按钮,点击即可逐个启动函数。
二、包的介绍
1.strtrans
用于字符串和基本类型的相互转换,ToString()可将任意基本类型转为字符串,包括单个ASCII字符和非ASCII字符(如汉字)的转换。ToInt(),ToFloat(),ToBool()可将任意合法的字符串转为基本类型。注意,ToString()不处理float32,而是由Float32ToStr()处理,但存储小数建议用float64,不会出错。
2.rwtxt
批量读取多个txt文件的内容到内存,或批量保存内存变量到一个txt,适用于基于命令行的管理系统。注意,该包用到了泛型技术:[T any],适用于go1.18及以上版本。
ReadFromTXT()将txt每行的内容看作是一个结构体的字段,将每行的内容都保存到结构体,最后返回结构体切片。调用例子如下:
Data, err := ReadFromTXT[TestStruct](filiepath)
其中TestStruct是用户自定义的结构体,data是结构体切片,filepath是txt文件路径。
ReadFromALLTXT()遍历当前目录下所有txt,然后对每个txt调用ReadFromTXT(),最后返回二维结构体切片。调用例子除了函数名之外,和ReadFromTXT()一样。
Save2TXT()将传入的结构体切片中的内容取出,依次写入txt,调用例子如下:
err := Save2TXT(filePath, dataToSave)
其中dataToSave是需要保存的内容,类型为结构体切片。
注意:
1.txt每行的字段默认以空格隔开,如想修改可在本地跳转到源码修改,但这对读写数据没有影响,不建议修改。
2.结构体的内容默认是基本类型,如果有组合类型,需要读者分别定义结构体,再调用函数。比如基本类型和切片组合,则需要定义另一个结构体保存切片的元素类型。