一个简单的Go语言轮子
此为我自己在写项目时用到的轮子,整理了一下
地址:https://github.com/runoneall/goutil
实现:命令行参数,配置文件,日期,数据库,网络请求等相关功能,简化开发
command.go
Command_Args()返回类型map[string]string参数字典Command_GetArg(arg string)返回类型string参数arg的值,如果不存在返回空字符串
config.go
Config_Read_File(filepath string)返回类型map[string]interface{}从文件中获取配置,返回配置字典Config_Write_File(filepath string, configMap map[string]interface{})无返回 将配置字典写入文件Config_Format(content string, targetFormat string)返回类型map[string]interface{}从字符串中解析配置,需指定配置类型targetFormat,返回配置字典
date.go
Date_Format(formatQuery string, useLong bool, useAlias bool)返回类型string解析日期字符串formatQuery; 使用{{year}}作为年,{{month}}作为月,{{day}}作为日,{{hour}}作为时,{{minute}}作为分,{{second}}作为秒,{{week}}作为星期; 设置useLong为true自动补零, 设置useAlias为true使用月和星期的英文名
mysql.go
Mysql_MakeDSN(host string, port int, user string, password string, dbname string)返回类型string制作 DSN 字符串Mysql_Connect(dsn string)返回类型*sql.DB使用 DSN 连接数据库,返回数据库连接对象Mysql_Exec(db *sql.DB, sql string)返回类型sql.Result运行 SQL 语句,返回结果对象Mysql_Query(db *sql.DB, sql string)返回类型[]map[string]interface{}使用 SQL 语句查询数据库,返回结果字典Mysql_Close(db *sql.DB)无返回 关闭数据库连接
network.go
Network_Get(url string, headers ...map[string]string)返回类型*http.Response发送 GET 请求到url,可选请求头headersNetwork_Post(url string, data any, dataType string, headers ...map[string]string)返回类型*http.Response发送 POST 请求到url,data为 请求体,dataType为请求体类型, 可选请求头headers; 当dataType为textdata 必须为string, 当dataType为binarydata 必须为[]byte, 当dataType为jsondata 必须为map[string]interface{}, 当dataType为form-kvdata 必须为map[string]string, 当dataType为form-filedata 必须为map[string]string格式键名:文件路径
gobr script
- 自己的一个简单的shell脚本,自动编译go文件并运行,支持参数传递
- 使用:
gobr <build name> [sub args] <build name>为要编译的go文件名,不包含后缀.go[sub args]为传递给go文件的参数