go

Golang导出并下载excel封装

封装了两个方法,数据源为map和struct(map数据源表头和数据需要自己排序) // ExportExcelByMap 导出excel 数据源为[]map func ExportExcelByMap(c *gin.Context, titleList []string, data []map[string]inter...

golang反射自定义tag

golang reflect包实现了反射。动态的获得程序运行时对象的结构和信息。 reflect 包中提供了两个基础的关于反射的函数来获取上述的接口和结构体: func TypeOf(i interface{}) Type func ValueOf(i inter...

golang字符串操作

字符串操作 package main import ( "fmt" "strings" ) func main() { str := "hello world" //contains 是否包含指定字符串 fmt.Println(strings.Contains(str, "hello")) ...

Golang实现定时任务

Golang实现定时任务 package main import ( "fmt" "github.com/robfig/cron/v3" ) func main() { // 每天凌晨0点执行一次:0 0 0 * * ? // 每隔3秒执行一次:*/3 * * * * * // spec := "*/...

go接口返回空数组

go语言nil返回接口时是null,前端同事要求返回[]空数组,代码片段如下: res := g.Map{ "list": menus, "statusOptions": statusOptions, "typeOptions": typeOptions, "fields"...

base64 的四种编码方式

事情的起因是这样的: 在做 siber 项目的时候,有接口使用 []byte 类型数据接收文件流。 // proto 定义 bytes file_data = 1; 但是 siber 是统一使用 json 格式进行的 request body 定义,不能直接传输...

Go语言实现websocket服务器

websocket应用场景: 1、即时通信。比如QQ,微信这些。 2、站内消息推送,比如打开qq时会提示xx用户已上线之类在app或者网站内部的消息。 3、实时数据获取。比如地理位置,用户是否在线等需要实时获取的...