Tag: Go
All the articles with the tag "Go".
golang 下载大文件进度
Published: at 07:19 PM使用io.Copy将下载的部分内容不断写入文件,重载io.Reader的Read函数,使用Read读取数据和大小,通过http的ContentLength获取total大小。 package goutil import ( "io" "net/http" "os" ) type ChunkRe...
golang 生成目录的check list文件并校验目录
Published: at 05:08 PM目的是将当前可执行程序平级的某个目录生成check list文件,表明是文件还是目录,如果是文件生成md5值。还可以根据check list文件来判断目录里面的内容是否完整,如果是目录就判断目录是否存在,如果是文件就比对md5值是否...
robotgo模拟鼠标键盘操作
Published: at 05:28 PM用robotgo库来实现一个自动化过程。 自动打开一个记事本,输入当前日期并且保存记事本,最后关闭记事本。 同时全局监听键盘事件,当按下组合键“ctrl+shift+q”后退出程序。 自动化记事本 package main impo...
接入腾讯AI智能闲聊API接口
Published: at 08:02 AM蛮有意思的一个接口就是你问什么它会给你一些回应,如: 问:你好啊 答:果然我的魅力无敌,终于把你吸引来了,哈哈哈 问:你是谁 答:我叫小豪豪,一定要记住,好不好嘛 文档地址https//ai.qq.com/doc/nlpchat.sht...
Go 实现简单端口扫描
Published: at 05:14 PM通过端口扫描我们可以知道服务器上哪些端口是处于监听状态。 借助Go net模块的DialTimeout方法可以很容易的判断端口是否打开,同时对于批量端口的扫描使用Go Routines实现非常简单。 主结构 type PortScanner...
Go 使用gomail发送邮件,包括附件
Published: at 10:01 AM这里使用的是gopkg.in/gomail.v2包,smtp协议。演示了发送日志目录。 准备 发送邮件首先要进行一些配置项,如下结构: type MailConf struct { User string Pass string Host string Port int ...
Go 使用zip压缩文件目录
Published: at 09:37 AM使用archive/zip包可以压缩目录为zip文件,流程如下: 1. 创建压缩后的目标文件(zip文件); 2. 使用zip writer向zip文件写入内容; 3. 遍历要压缩的目录,如果是文件就用zip writer写入; 4. 如果是目录,在父目录的基础...
Go寻找最长不含有重复字符的子串
Published: at 07:19 PM寻找最长不含有重复字符的子串,这道算法题很常见,现在用go语言来实现下。 思路 从头到尾遍历,设置一个起始位置start,当前最大不重复字符子串的长度maxLength以及位置maxStart,还有一个map存储了遍历过的所有字符...
Go Buffer重用,避免频繁内存分配
Published: at 03:07 PM在我们写代码的过程中如果多次使用make(byte, 4096),那就要考虑使用下面的方法了。当然你不要想着把这个buffer保存为全局变量,多线程下会有竞态问题,实现代码: var blackHoleUsed = make(chan byte, 1) fun...
Go竞态检测
Published: at 02:18 PM介绍 竞争条件是最隐蔽和难以捉摸的编程错误之一。它可能会导致不稳定和莫名其妙的故障,而且很可能是在代码部署到生产环境很久之后才会产生。虽然Go的并发机制使编写干净的并发代码变得容易,但它们并不能防止竞争条件...