一个简单的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
,可选请求头headers
Network_Post(url string, data any, dataType string, headers ...map[string]string)
返回类型*http.Response
发送 POST 请求到url
,data
为 请求体,dataType
为请求体类型, 可选请求头headers
; 当dataType
为text
data 必须为string
, 当dataType
为binary
data 必须为[]byte
, 当dataType
为json
data 必须为map[string]interface{}
, 当dataType
为form-kv
data 必须为map[string]string
, 当dataType
为form-file
data 必须为map[string]string
格式键名:文件路径
gobr script
- 自己的一个简单的shell脚本,自动编译go文件并运行,支持参数传递
- 使用:
gobr <build name> [sub args]
<build name>
为要编译的go文件名,不包含后缀.go
[sub args]
为传递给go文件的参数
评论已关闭