![](https://img-blog.csdnimg.cn/ea71f033f1b745328b2be906ede55b11.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
go的一些用法
文章平均质量分 75
go的一些用法
玄德公笔记
赠人玫瑰,手有余香。
展开
-
golang获取prometheus数据(prometheus/client_golang包)
prometheus/client_golang包的应用原创 2023-09-06 08:30:00 · 2053 阅读 · 0 评论 -
GO语言基础-04-数据类型-04-map(map的排序)
1. 按value排序 1.1 思路 1.2 语法 1.3 完整示例2. 按key排序 2.1 思路 2.2 语法示例原创 2023-07-17 21:27:40 · 523 阅读 · 0 评论 -
根据操作系统程序自动选择不同常量
1. 操作2. 示例2.1 定义常量2.2 引用原创 2023-02-21 17:44:42 · 101 阅读 · 0 评论 -
GO语言定时任务实战-gocron包
1. 基本使用1.1 初始化实例 new()1.2 添加定时任务 AddFunc()1.3 开始定时任务 Start()1.4 完整示例1.5 第一次执行定时任务的契机1.6 spec 的设置2. 粒度到秒2.1 语法示例2.2 完整示例3. 按时间间隔3.1 语法3.2 完整示例(@every)3.3 完整示例原创 2023-01-04 22:11:04 · 1245 阅读 · 0 评论 -
strings包详细文档+示例
EqualFold()HasPrefix()HasSuffix()Contains()ContainsRune()ContainsAny()Count()Index()IndexByte()IndexRune()IndexAny()LastIndex()LastIndexAny()Title(ToTitle()ToLower()ToUpper()Trim()TrimSpace()TrimLeft()TrimPrefix()TrimRight()……原创 2022-07-30 22:11:54 · 499 阅读 · 0 评论 -
golang读取环境变量(envconfig包的使用)
文章目录1. 基本使用1.1 使用方法1.2 示例 (简单使用)1.3 示例 (环境变量中的数组/切片)2. 结构体 tag 支持2.1 split_words说明示例2.2 envconfig说明示例2.3 default说明示例2.4 required说明示例2.5 ignored说明示例1. 基本使用1.1 使用方法1)定义变量前缀_变量名=值2)定义结构体结构体成员名和变量名对应,但结构体成员名不区分大小写(我们在示例1中可以看到)type 结构体名 struct {原创 2022-05-12 08:44:47 · 3260 阅读 · 0 评论 -
golang数据类型转换(int/float/string/interface/[]byte)
文章目录1. int --> float322. 字串和数字的转换(strconv)2.1 string -->int2.2 string -->int642.3 string --> float642.4 int --> string2.5 int64 --> string2.6 float64 --> string1. int --> float32代码package mainimport "fmt"func main() { va原创 2022-01-13 23:46:19 · 2230 阅读 · 0 评论 -
golang 时间/时间戳的获取和转换
文章目录1. 获取时间1.1 当前时间获取1.2 获取之前/之后的时间2. 时间戳2.1 获取当前时间戳2.2 时间 转 时间戳2.2.1 方法一2.2.2 方法二2.2 时间戳转时间3. 时间计算3.1 时间加时间段3.2 计算两时间之差1. 获取时间1.1 当前时间获取package mainimport ( "fmt" "time")func main() { currentTime := time.Now() /原创 2021-11-24 20:03:05 · 10609 阅读 · 1 评论 -
golang 解析json字串(Unmarshal() 函数,解析http)
文章目录1. js解析1.1 示例 11.2. 示例22. go 解析 http 传递的json数据1. js解析1.1 示例 1要解析的json格式如下{ "project_members": [{ "name": "ZhaoYun", "number": "000005" }, { "name": "WeiYan", "number": "000019" } ]}json分析:project_members 的值是一个组,组中有两个成员每原创 2022-02-22 20:33:11 · 2482 阅读 · 0 评论 -
golang 的文件写入和读取(Write()、WriteString(),bufio包:WriteString()、flush(), ioutil 包:WriteFile()、ReadFile())
1. os包1.1 Write()/WriteString()方法1.2 Read()方法2. bufio包2.1 WriteString()/flush()方法2.2 ReadLine()方法3. ioutil 包3.1 WriteFile()3.2 ReadFile()原创 2022-05-05 14:33:05 · 3284 阅读 · 0 评论 -
golong实现邮件发送
1. 发送邮件包package myMailimport ( "crypto/tls" "fmt" "github.com/go-admin-team/go-admin-core/sdk/config" ext "go-admin/config" "net/smtp" "strings" "time")type MyEmail struct{ Host string Port string AuthUser string AuthPass string}func (e原创 2022-04-09 17:30:32 · 1647 阅读 · 0 评论 -
golang字串的base64编码解码
1. 字串的base64编码语法func (enc *Encoding) EncodeToString(src []byte) string示例import ( "encoding/base64" "fmt")func HelloXD() { myString := "臣本布衣 躬耕于陇上" res := base64.StdEncoding.EncodeToString([]byte(myString)) fmt.Println(res)}输出6Iej5pys原创 2022-05-09 14:27:22 · 1361 阅读 · 0 评论 -
golang的net/http包Client的使用
文章目录1. 从一个极简示例开始2. 语法2.1 初始化客户端1. 从一个极简示例开始func HiHttp(){ resp, err := http.Get("http://gitlabcto.xxx.com.cn/api/v4/projects") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) //body是一个二进制组,用stri原创 2022-05-10 13:32:27 · 4208 阅读 · 0 评论 -
golong 调用http/https接口,使用net/http包写好的几个函数
文章目录1. go 调用https接口1.1 返回json(完整示例)1.2 只返回code2. get 调用https接口3. put调用https接口1. go 调用https接口1.1 返回json(完整示例)package mainimport ( "bytes" "crypto/tls" "encoding/json" "fmt" "io/ioutil" "net/http" "time")func main() { //定义一个结构体传参 var body st原创 2022-05-02 22:44:48 · 711 阅读 · 0 评论 -
golang正则regexp包使用-01-判断正则匹配、判断正则合法性(Match,MatchString,MatchReader,Compile,CompilePOSIX,MustCompile)
1. Match 系列函数(判断是否匹配)1.1 Match()1.2 MatchString()1.3 MatchReader()2. Compile系列函数 (判断正则合法性)2.1 Compile()2.2 CompilePOSIX()2.3 MustCompile()2.4 MustCompilePOSIX()3. Match系列方法3.1 Must()3.2 MustString()3.3 MustReader().........原创 2022-06-18 21:49:21 · 2377 阅读 · 0 评论 -
golang正则regexp包使用-02-查找正则匹配字串、查找正则匹配字串的位置(Find(),FindString(),FindAll(),FindIndex(),FindStringIndex)
1. Find系列方法(查找匹配)1.1 Find()1.2 FindString()1.3 FindAll()1.4 FindAllString()2. FindIndex系列方法(查找匹配位置)2.1 FindIndex()2.2 FindStringIndex()2.3 FindReaderIndex()2.4 FindAllIndex()2.5 FindAllStringIndex()原创 2022-06-19 21:34:34 · 2436 阅读 · 0 评论 -
golang正则regexp包使用-03-查找匹配字串,查找匹配字串位置,正则分组(FindSubMatch系列方法,FindSubmatchIndex系列方法)
1. FindSubMatch系列方法 (查找匹配字串,可分组)1.1 FindSubMatch()1.2 FindStringSubmatch()1.3 FindAllSubmatch()1.4 FindAllStringSubmatch()2. FindSubmatchIndex 系列方法2.1 FindSubmatchIndex()2.2 FindStringSubmatchIndex()2.3 FindReaderSubmatchIndex2.4 FindAllSubmatchIn原创 2022-06-20 15:05:44 · 3311 阅读 · 1 评论 -
golang正则regexp包使用-04-使用正则替换(ReplaceAll(),ReplaceAllLiteral(),ReplaceAllFunc())
1. ReplaceAll()2. ReplaceAllString()3. ReplaceAllLiteral()4. ReplaceAllLiteralString()5. ReplaceAllFunc()6. ReplaceAllStringFunc()原创 2022-06-22 21:52:07 · 3127 阅读 · 0 评论 -
golang正则regexp包使用-05-扩展Expand()、根据正则切割Split()
1. 扩展1.1 Expand()方法语法完整示例1.2 ExpandString() 方法语法完整示例2. 根据正则切割2.1 Split() 方法语法完整示例示例(n不同值的结果)原创 2022-06-24 22:36:01 · 973 阅读 · 0 评论 -
golang正则regexp包使用-06-其他用法(特殊字符转换、查找正则共同前缀、切换贪婪模式、查询正则分组个数、查询正则分组名称、用正则切割、查询正则字串)
1. QuoteMeta() 函数(特殊字符转换)2. LiteralPrefix()方法(查找正则共同前缀)3. Longest()方法(切换贪婪模式)4. NumSubexp()方法(查询正则中分组个数)5. Split() 方法(用正则切割)6. String()方法 (将*regexp.Regexp实例中正则以string输出)7. SubexpNames() 方法(返回正则分组名)...原创 2022-06-25 23:40:54 · 706 阅读 · 0 评论 -
动手写prometheus的exporter-01-Gauge(仪表盘)
1. 不带lab的Gauge1.1 定义指标语法完整示例1.2 给指标取值语法完整示例2. 带lab的Gauge2.1 定义指标语法完整示例2.2 取值语法完整示例原创 2022-08-08 21:36:52 · 622 阅读 · 0 评论 -
动手写prometheus的exporter-02-Counter(计数器)
概述1. 不带标签的Counter1.1 定义指标语法完整示例1.2 获取数据语法完整示例2. 带标签的Counter2.1 定义指标语法完整示例2.2 获取数据语法完整示例原创 2022-08-09 20:17:24 · 599 阅读 · 0 评论 -
动手写prometheus的exporter-03-HIstogram(直方图)
1. 不带标签的HIstogram语法完整示例2. 带标签的HIstogram语法完整示例原创 2022-08-22 21:02:15 · 459 阅读 · 0 评论 -
动手写prometheus的exporter-04-Summary(摘要)
1. 不带标签的Summary语法完整示例2. 带标签的Summary语法完整示例原创 2022-08-21 20:22:58 · 510 阅读 · 0 评论 -
Go template详解(上)- 注释、作用域、空格和空行、管道、{{range .}}、{{with .}}(helm进阶语法)
1. 注释 {{/* xxxx */}}2. 作用域2.1 顶级作用域 {{ . }}2.2 相对作用域 {{range . }} xxxx {{end}}2.3 切换作用域 {{with .xxx }} xxx {{end}}3. 去空格和去空行 {{- xxx}}3.1 去空行3.2 去空格4. 管道 {{ | }}原创 2022-08-29 19:10:26 · 2940 阅读 · 0 评论 -
Go template详解(中)- 变量使用、if语句、迭代(数组、切片、map)、内置函数(比较、逻辑判断、打印、索引、函数调用)
5. 变量5.1 变量使用5.2 $6. if语句7. 迭代7.1 迭代数组或切片7.2 迭代 map7.2.1 仅处理值7.2.2 处理 key和值8. 内置函数8.1 比较8.2 逻辑判断8.3 其他原创 2022-08-31 20:27:05 · 1705 阅读 · 0 评论 -
GO语言gin框架实战-01-基本使用
1. 定义路由服务2. 定义headers函数2.1 Get方法Query(Params方式)2.2 Post方法BindJSON (Body=>raw=>JSON)PostForm(Body=>form-data)2.3 PUT方法BindJSON (Body=>raw=>JSON)PostForm(Body=>form-data)2.4 DELETE方法Query(Params方式)PostForm(Body=>form-data)Param (Path)3. main函数调原创 2022-10-19 23:46:46 · 1904 阅读 · 0 评论 -
GO语言gin框架实战-02-Jwt和登录认证
1. 相关函数2. router对其调用3. 其他接口身份验证4. postman 测试4.1 测试登录接口4.2 postman设置Cookies4.3 其他接口调用身份验证测试原创 2022-10-24 23:26:11 · 1616 阅读 · 0 评论 -
GO语言gin框架实战-03-swagger和接口文档
1. GET1.1 query模式1.2 path 模式2 POST2.1 body模式2.2 formData模式3. PUT3.1 body模式3.2 formData模式4. DELETE4.1 query4.2 Path原创 2022-11-08 09:02:48 · 1633 阅读 · 0 评论 -
GO语言gin框架实战-04-websocket链接
1. 升级接口1.1 语法- 升级接口- 关闭- 接收前端信息1.2 完整示例2. 获取信息从websocket传出2.1 语法2.2 完整示例3. 配置router4. 前端调用测试原创 2022-11-10 09:05:53 · 755 阅读 · 1 评论 -
GO语言gin框架实战-05-文件下载
语法完整示例postman下载测试原创 2022-11-14 19:22:35 · 463 阅读 · 0 评论 -
gin框架使用websocket实现进入容器内部执行命令
/ Web Socket 已连接上,使用 send() 方法发送数据。"新建连接到->127.0.0.1:18000"仅是一个测试文件,很丑,但是后端测试够了。vi 编辑器无法实现,需要进一步完善。// 实时更新显示服务器发回的时间。docker开放远程API端口。"接收到服务器的问候: ""接收到服务器数据: "// 用于提示收到信息。// 建立连接后发送。// 接收服务器消息。原创 2023-03-23 10:04:59 · 462 阅读 · 1 评论 -
go-redis使用(redis链接,数据写入,数据查询,存储结构体,自动解析和反解析,MarshalBinary(),UnmarshalBinary())
1. redis链接 1.1 相关结构体 1.2 语法 1.3 完整示例2. 存数据 2.1 语法 2.2 简单示例3. 数据查询 3.1 语法 3.2 完整示例4. 其他示例 4.1 使用结构体 4.2 MarshalBinary()和UnmarshalBinary()原创 2023-03-14 09:17:22 · 964 阅读 · 0 评论 -
【FAQ】module google.golang.org/grpc@latest found (v1.48.0), but does not contain package……
google.golang.org/grpc/naming: module google.golang.org/grpc@latest found (v1.48.0), but does not contain package原创 2022-08-18 15:33:58 · 2918 阅读 · 0 评论 -
Go语言excelize包-01-入门示例、工作簿(创建、打开、保存、关闭、默认字体)、文件Writer
1. 从几个示例开始1.1 创建、写入1.2 读表1.3 数据流2. 工作簿操作2.1 创建工作簿2.2 打开工作簿2.3 保存工作簿2.4 关闭工作簿2.5 设置默认字体2.6 获取默认字体3. 文件 Writer3.1 Write3.2 WriteTo3.3 WriteToBuffer原创 2022-09-04 21:07:37 · 983 阅读 · 0 评论 -
Go语言excelize包-02-工作表操作(新建/删除/复制/分组/重命名/设置属性/可见性)
1. 新建工作表2. 删除工作表3. 复制工作表4. 工作表分组4.1 创建组4.2 删除分组5. 默认工作表5.1 设置默认工作表5.2 获取默认工作表6. 工作表可见性6.1 设置工作表可见性6.2 获取工作表可见性7. 表格整体属性7.1 自定义列宽7.2 自定义行高7.3 行高为内容部分7.4 获取表格属性8. 表名8.1 根据索引获取工作表名8.2 根据表名获取工作表索引8.3 获取工作表列表8.4 修改工作表名9. 表查询原创 2022-09-08 23:09:12 · 1681 阅读 · 3 评论 -
Go语言excelize包-03-行和列操作(可见性、指定列宽、指定行高、列删除、行删除、插入列、插入行、分级显示)
1 可见性1.1 设置列可见性1.2 获取列可见性1.3 设置行可见性1.4 获取行可见性2. 指定列列宽2.1 设置指定列列宽2.2 获取指定列列宽3. 指定行行高3.1 设置指定行行高3.2 或者指定行行高4. 列增删4.1 插入空列4.2 删除列5. 行增删5.1 插入空白行5.2 复制行到指定位置5.3 追加复制行到下一行5.4 删除行5.5 按行赋值6. 分级显示6.1 设置行分级显示6.2 获取行的分级显示级别6.3 设置列的分级显示6.4 获取列原创 2022-09-13 22:26:59 · 3244 阅读 · 0 评论 -
Go语言excelize包-04-迭代器(行迭代器、列迭代器)
1. 列迭代器1.1 垂直获取数据1.2 遍历列操作1.3 单列操作1.4 列迭代示例2. 行迭代器2.1 获取行数据2.2 遍历操作2.3 单行操作2.4 关闭数据流2.5 行迭代示例原创 2022-09-16 23:46:15 · 373 阅读 · 0 评论 -
Go语言excelize包-05-单元格操作(设置单元格格式、超链接、富文本、获取单元格信息、合并单元格)
1. 设置单元格格式1.1 值类型1.2 设置布尔型值1.3 设置为默认字符型值1.4 设置字符型值1.5 设置实数格式2. 超链接2.1 设置超链接2.2 获取超链接3.富文本3.1 设置富文本格式3.2 获取富文本格式4. 获取单元格信息4.1 获取单元格的值4.2 按列获取单元格数据4.3 按行获取全部单元格的值4.4 获取单元格类型4.5 获取样式索引5. 合并单元格5.1 合并单元格5.2 取消合并单元格5.3 获取合并单元格位置5.4 获取合并单元格数原创 2022-09-27 22:39:11 · 3752 阅读 · 1 评论 -
Go语言excelize包-06-样式设置(样式设置、区间使用样式、行使用样式、列使用样式)
1. 样式设置1.1 创建样式1.2 Style 结构体1.2.1 Border结构体(边框设置)1.2.2 Fill结构体(填充设置)1.2.3 Font结构体(字体设置)1.2.4 Alignment结构体(对齐方式)1.2.4 NumFmt编号(自定义格式)1.2.5 CustomNumFmt编号(自定义数字)2. 样式使用2.1 单元格使用样式2.2 列使用样式2.3 行使用样式原创 2022-09-29 21:59:54 · 2579 阅读 · 0 评论