Go
小龙在山东
本博客为个人整理的技术笔记,仅用于学习。
展开
-
mysql中date/datetime类型自动转go的时间类型time.Time
mysql中date/datetime类型自动转go的时间类型time.Time。原创 2023-10-17 23:45:00 · 718 阅读 · 1 评论 -
Go实现国密算法SM2、SM3、SM4
遵循的SM2标准号为: GM/T 0003.1-2012、GM/T 0003.2-2012、GM/T 0003.3-2012、GM/T 0003.4-2012、GM/T 0003.5-2012、GM/T 0009-2012、GM/T 0010-2012。SM3密码杂凑算法 - SM3 cryptographic hash algorithm。遵循的SM3标准号为: GM/T 0004-2012。遵循的SM4标准号为: GM/T 0002-2012。原创 2023-07-12 20:15:00 · 2444 阅读 · 0 评论 -
GLIBC_2.27 GLIBC_2.25 GLIBC_2.28 CXXABI_1.3.9 GLIBCXX_3.4.20 GLIBCXX_3.4.21 not found
编译glibc-2.28需要新版本的make。原创 2023-07-10 20:00:00 · 429 阅读 · 1 评论 -
Go数组去重
【代码】Go数组去重。原创 2023-06-27 08:39:57 · 1532 阅读 · 0 评论 -
Go实现GBK和UTF-8编码相互转换
mahonia实现GBK和UTF-8编码相互转换。原创 2023-06-25 18:19:06 · 1179 阅读 · 0 评论 -
Go捕获错误panic、打印错误栈、触发panic的情况
recover是go提供的一个用来截获 panic 信息,重新获取协程控制的函数。原创 2023-06-25 21:45:00 · 1262 阅读 · 0 评论 -
Go字符串删除首位空格、转大写、拼接、分割、包含
Go处理字符串是常见操作,这里用到了两个包:strings和text的cases。原创 2023-06-20 21:15:00 · 478 阅读 · 0 评论 -
Go多个正则表达式查找的区别
Find查找最左侧第一个。FindAll第二个参数是-1就是查找所有匹配,如果FindAll第二个参数是1,就跟Find一样了。给分组命名为key,然后通过Expand将匹配到的key按照模板的样式输出给result,value同理,另外匹配必须要用。FindAllIndex会返回匹配到的分片(开始和结束索引)。这两个方法不会返回子匹配。原创 2023-06-16 20:30:00 · 1108 阅读 · 0 评论 -
Go语言异步下载视频
下面是一个简单的Go语言示例,用于异步下载视频。我们将使用goroutines来实现异步下载,并使用sync.WaitGroup来等待所有下载任务完成。此示例依赖于net/http包来执行HTTP请求。这个代码示例将从videoURLs列表中异步下载视频。downloadVideo函数处理视频下载,而getFilenameFromURL函数根据视频URL生成文件名。这个例子使用了简化的错误处理,实际应用中您可能需要根据需求进行相应的错误处理。原创 2023-03-21 16:48:19 · 830 阅读 · 0 评论 -
Go语言使用Playwright自动化测试、录屏、执行js
Go版本的Playwright支持Chromium、Firefox和WebKit的Web自动化测试,兼容Windows、Linux和MacOS,默认支持headless无头模式,安装方便、绿色高效、兼容性强、运行速度快。支持的主要功能有:跨多个页面、域名和iframe的场景;在执行操作(如单击、填充)之前自动等待元素就绪;拦截网络活动以拦截和模拟网络请求;模拟移动设备、地理位置和权限;通过阴影穿透选择器支持web组件;鼠标和键盘的原生事件;上传和下载文件;原创 2023-03-08 10:31:09 · 2381 阅读 · 1 评论 -
Go语言获取底层文件、父路径、绝对路径、合并路径、分割路径、相对路径
filepath包是维护文件名和路径的工具。原创 2023-03-07 18:06:23 · 1340 阅读 · 0 评论 -
Go语言休眠sleep
time标准库中的sleep可以休眠程序,阻塞线程。原创 2023-02-28 15:59:27 · 1556 阅读 · 0 评论 -
Go语言用goquery解析HTML、gb2312转utf-8、自动判断编码
goquery是Go语言编写的用来解析HTML的库,类似jQuery。它基于 HTML 解析库net/html和 CSS 库cascadia,提供与 jQuery 相近的接口。Go 著名的爬虫框架colly就是基于 goquery 的。原创 2023-02-28 15:53:38 · 568 阅读 · 0 评论 -
Go语言从结构体中动态获取Key的值
reflect标准库是Go语言版本的反射实现,可以通过reflect维护对象,获取修改运行时数据。原创 2023-02-14 17:22:20 · 840 阅读 · 0 评论 -
Go语言读取解析yml文件,快速转换yml到go struct
Go语言读取并解析yml文件用到了os.ReadFile和gopkg.in/yaml.v2。原创 2023-02-14 11:25:32 · 1745 阅读 · 0 评论 -
Go语言AES/DES/3DES/RSA/HMAC-SHA加解密
本文使用github.com/forgoer/openssl模块实现AES/DES/3DES/RSA/HMAC-SHA加解密,这个模块是openssl的封装包,比使用标准库crypto/aes要方便。原创 2023-02-13 16:09:29 · 588 阅读 · 0 评论 -
go判断文件是否存在、是否是目录
使用os.IsNotExist的前提是有一个error,且这个err类型是ErrNotExist。使用os.Stat可以获取ErrNotExist。原创 2023-02-10 15:55:56 · 541 阅读 · 0 评论 -
go语言常用正则表达式函数
regexp包是GO语言官方标准库,用来实现正则表达式操作,其采用RE2语法,除了、外,Go语言和 Perl、Python 等语言的正则基本一致。匹配最左侧第一个。re.FindAllSubmatch匹配所有分组参考https://pkg.go.dev/regexp#Regexp.FindAllSubmatch原创 2023-02-08 15:39:35 · 104 阅读 · 0 评论 -
Go语言拼接URL路径的三种方法
Go语言拼接URL路径有多种方法建议用ResolveReference。原创 2023-02-08 10:50:00 · 2727 阅读 · 0 评论 -
go语言int64整型转字符串
go语言中string(int)会把int当成UTF-8的Unicode值,转换成对应的字符,标准库strconv是专门用来实现基本数据类型和其字符串表示的相互转换。原创 2023-02-06 14:43:54 · 4651 阅读 · 0 评论 -
Go字符串拼接6种方式及其性能测试:strings.builder最快
Go字符串拼接常见的方式有加号、fmt.Sprintf、strings.Builder、bytes.Buffer、strings.join、切片。 表示单位时间内(默认是1s)被测函数运行了 244851次,每次运行耗时 4725ns总耗时10.261s。https://www.cnblogs.com/cheyunhua/p/15769717.html原创 2022-12-03 23:34:16 · 615 阅读 · 0 评论 -
go语言解析URL,获取Scheme、Path、Query、Fragment等
【代码】go语言解析URL,获取Scheme、Path、Query、Fragment等。原创 2023-02-01 10:09:04 · 1101 阅读 · 0 评论 -
go和Python实现消息认证码算法HMAC(基于SHA256)
HMAC使用对称加密密钥,基于散列函数(如MD5, SHA1, SHA224, SHA256, SHA384, SHA512, SHA3-256, SHA3-512 等哈希算法)的消息认证码算法。原创 2023-01-31 15:56:12 · 242 阅读 · 0 评论 -
go 四种 base64 编码实现方式
【代码】go 四种 base64 编码实现方式。原创 2023-01-31 14:10:35 · 633 阅读 · 0 评论 -
go-elasticsearch连接、查询、聚合elasticsearch
go-elasticsearch是elasticsearch官方的Go版本客户端,兼容多个版本。原创 2022-12-22 16:55:49 · 656 阅读 · 0 评论 -
Go实现MD5加密的三种方法
【代码】Go实现MD5。原创 2022-12-15 22:58:38 · 3403 阅读 · 0 评论 -
gorm时间格式化
GORM自带的time.Time类型JSON默认输出RFC3339Nano格式的,但是如果想改为yyyy-MM-dd HH:mm:ss形式的时间格式,需要定制MarshalJSON了。Go声明了一个LocalTime的别名,然后绑定了函数MarshalJSON,用于在序列化时调用。原创 2022-12-09 11:53:59 · 2014 阅读 · 1 评论 -
go实现urlencode编码和解码
go实现URL encode编码和解码用到了标准库的QueryEscape(用来编码)和QueryUnescape(用来解码)。原创 2022-12-03 15:39:38 · 2219 阅读 · 0 评论 -
Go爬虫框架Colly:设置UA、代理、上下文传参、CSS选择器、XPath选择器、绝对路径
Colly是Go的爬虫框架,简单快速,适合日常工作获取数据。原创 2022-12-01 21:38:20 · 1075 阅读 · 0 评论 -
Go用gota来做数据分析:dataframe、series
Gota类似Python的Pandas,是数据分析库。原创 2022-11-23 18:12:06 · 3199 阅读 · 0 评论 -
Go json.Marshal禁用escapeHtml转义
json.Marshal的escapeHtml默认是关闭的,如何打开呢?原创 2022-11-23 19:30:00 · 381 阅读 · 0 评论 -
Go实现本地日期时间格式和时间戳相互转换
Go实现本地日期时间格式和时间戳相互转换。原创 2022-11-22 12:39:21 · 1611 阅读 · 0 评论 -
Go跨平台交叉编译:在windows下编译Linux下可执行文件
Go跨平台编译:在windows下编译Linux下可执行文件。原创 2022-11-22 11:23:22 · 215 阅读 · 0 评论 -
GORM实现MySQL数据表迁移、创建、查询
GROM是go的ORM类库,兼容多种数据库。原创 2022-11-19 15:48:30 · 204 阅读 · 0 评论 -
Go并发channel常见使用场景
当 select 中的其它分支都没有准备好时,default 分支就会执行。原创 2022-11-13 23:10:00 · 150 阅读 · 0 评论 -
gin框架常见用法大全
Gin是go语言的Web框架,结合go自带的第三方库net/http,性能也不错。原创 2022-11-13 00:07:19 · 1164 阅读 · 0 评论 -
Go构建模式:GOPATH、vendor、Go Module
GOPATH默认路径是$HOME/go。GOPATH构建模式下,编译器会在GOPATH路径下搜索第三方模块,不关心第三方包版本。为了可重构,引入了vendor机制。原创 2022-11-12 11:33:08 · 888 阅读 · 0 评论 -
Go用gorm操作MySQL数据库:连接、指定表名、表前缀、禁用表名复数、读取
Go用gorm操作MySQL数据库:连结、指定表明、表前缀、禁用表名复数、读取原创 2022-11-10 10:13:38 · 5221 阅读 · 0 评论 -
Go从文件序列化和反序列化JSON、解析二维数组
Go解析JSON用到了encoding/json库,用json.Unmarshal解码json,用json.Marshal编码json字符。原创 2022-11-09 23:28:08 · 794 阅读 · 0 评论 -
Go遍历目录、读写、追加文本文件
Go 1.16 包io/ioutil已经被deprecated了。io/ioutil中的"函数/方法/类型"应该用包io以及os中的相应对象替代。原创 2022-11-09 18:28:07 · 575 阅读 · 0 评论