- 博客(14)
- 收藏
- 关注
原创 【Golang】gin csv 生成及下载
代码片段 buf := new(bytes.Buffer) w := csv.NewWriter(buf) err = w.WriteAll(csvData) if err != nil { return err } w.Flush() c.Writer.Header().Add("Content-type", "application/octet-stream") _, err = io.Copy(c.Writer, buf)
2022-03-31 16:17:03 933
原创 设置win11右键菜单为旧版模式
设置win11右键菜单为旧版模式打开注册表,定位到:HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID在CLSID下创建新的项:{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}在新创建的项{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}下新建项:InprocServer32将项InprocServer32的值设置为空重启电脑参考链接:https://www.tomshardware.com/how-to/w
2021-10-08 15:16:45 2793
原创 golang:实现类似tailf命令的功能
支持自动结束tailf命令,本例适用于实时呈现临时文本文件内的日志信息package mainimport ( "bufio" "fmt" "io" "log" "os" "time")var stop = make(chan struct{})func main() { if len(os.Args) != 2 { log.Fatalln("Usage: main <filename>") } fileName := os.Args[1] file, e
2021-05-31 15:13:50 352 1
原创 golang:CGO实现获取指定网卡的MAC地址
package mainimport ( "fmt" "strings")/*#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <netinet/in.h>#include <net/
2021-03-16 16:24:07 565
原创 golang:从切片中删除一个元素
package mainimport "fmt"/* Author: Guo Date: 3/16/21 2:24 PM Description: Company: Updated: ??@??@?? ????*///方式一:使用copy()func removeSample1(in []interface{}, index int) ([]interface{}, bool) { if len(in) == 0 || index < 0 { return in, f
2021-03-16 16:16:38 854
原创 golang:时间窗口法实现限流器
package mainimport ( "container/list" "fmt" "sync" "time")/* Author: Guo Date: 3/15/21 4:58 PM Description: Company: huastart.com Updated: 姓名@时间@版本 变更说明*/// 限量器type Limitor struct { // 锁 Lock sync.Mutex // 存储元素的双向链表 Elements *list.Lis
2021-03-15 19:30:10 386
原创 golang:如何对私有函数进行单元测试
在待测试的私有函数所在的包内,新建一个xx_test.go文件,书写方式如下:import ( "github.com/stretchr/testify/assert" "testing")var XXFunc = yourPrivateFuncfunc TestXXFunc(t *testing.T) { ret, ... := XXFunc(...) assert.Equal(t, ret, ...)}就可以了...
2020-09-01 15:17:50 2096
原创 golang:发布订阅系统
发布订阅系统:package pubsubimport ( "sync" "time")/* Author: Guo Date: 8/15/20 2:53 PM Description: Company: huastart.com Updated: 姓名@时间@版本 变更说明*/type ( //订阅者 Subscriber chan interface{} //主题 TopicFunc func(v interface{}) bool)type Publish
2020-08-15 16:43:57 503
原创 golang:支持每周或者每天固定时间的事件触发器
package main/*Author: GuoFunction: 支持每周或者每天固定时间的事件触发器*/import ( "fmt" "time")//一天的秒数const oneDaySecond = 1 * 24 * 60 * 60//定时器服务func tickerService(stop chan int) { var ticker *time.Ticker var duration int64 var isWeekBak bool for { no
2020-07-18 22:34:26 2356
转载 golang:AES加密解密
golang AES加密解密代码示例:package mainimport ( "bytes" "crypto/aes" "crypto/cipher" "fmt")func padding(src []byte, blocksize int) []byte { padnum := blocksize - len(src)%blocksize pad := bytes.Re...
2019-12-19 15:28:38 572
转载 golang:比较版本号大小
package mainimport ( "fmt" "strings")var ( VersionBig = 1 VersionSmall = 2 VersionEqual = 0)func compareStrVer(verA, verB string) int { verStrArrA := spliteStrByNet(verA) verStrArrB := ...
2019-11-01 14:26:16 2846
原创 golang:将有序的数字切片转换为数字范围表示的字符串数组
golang:将有序的数字切片转换为数字范围表示的字符串数组package mainimport ( "fmt" "strconv")func numToRange(numList []int) []string { if len(numList) == 0 { return []string{} } var retList []string var start = n...
2019-11-01 14:17:24 1002
原创 golang:给定一个数字切片,用时间复杂度为O(n)的算法找出所有和为10的数字组合
golang:给定一个数字切片,用时间复杂度为O(n)的算法找出所有和为10的数字组合input: [1, 3, 4, 7, 8, 6]output: 3 and 7; 4 and 6代码示例:-----package mainimport "fmt"func main() { inputSlice := []int{1, 3, 4, 7, 8, 6} numMap := ...
2019-07-27 20:19:12 412 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人