onconfigchange golang viper

golang的iota使用

1、iota是什么 iota是常量的计数器,可以理解为const定义常量的行数的索引,注意是行数。 const中每新增一行常量声明将使iota计数一次,前提是iota在const中出现。 2、应用场景 主要应用场景是在需要枚举的地方 3、易错点 因为iota一般出现在const语句块的第一行,不少初 ......
golang iota

golang·context

# Context ## 引入 **Q:如何优雅地控制子协程(goroutine)退出?** - 利用waitgroup+全局变量notify退出 ~~~~~go package main import ( "fmt" "sync" "time" ) // 引入:为什么需要context? var ......
context golang 183

golang-》使用go mod 代理安装插件

golang是谷歌产品,很多插件国内被禁止访问,需要使用代理才能访问,https://goproxy.io是一个国内的代理 执行 ``` # 旧版,已废弃 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct ``` ......
插件 golang mod

Golang HTTP Status 400

一、问题分析 HTTP 400的状态码,可以统称前后台对应不上,说明这个请求是无效的,并没有进入后台服务器(控制器)里。主要有两种形式: 1、bad request 是 “错误的请求" 通常产生问题的原因也有两个:①前端传的参数类型或者名称与后台接收参数的实体类的属性类型或者名称不一致;②前端提交a ......
Golang Status HTTP 400

golang 解决提示dial tcp 172.217.160.113:443: connectex: A connection attempt failed

解决方法:改成国内可用的代理地址。在命令提示符输入: go env -w GOPROXY=https://goproxy.cn ......
connection connectex attempt golang failed

golang grpc demo

protobuf 安装链接:https://liqiang.io/post/install-protobuf-in-centos-f0a9b926 ......
golang demo grpc

讯飞开放平台机器翻译(新)golang实现demo

最近做项目用到翻译功能,对接了一下科大讯飞的翻译api接口,demo如下: ```golang package main import ( "crypto/hmac" "crypto/sha256" "encoding/base64" "encoding/json" "fmt" "io/ioutil ......
机器 golang 平台 demo

【发现一个小问题】坑爹的官方日志库`golang.org/x/exp/slog`,凭啥不让我设置debug级别日志

**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G ......
日志 级别 官方 golang 问题

Golang - 获取指定区间范围内随机数

1. go语言未提供获取指定区间范围内的随机数方法,只有一个参数获取(0, n)的随机数。 2. 可根据此方法获取指定区间随机数,先随机0到(m-n),再用加 n 的方式解决 例:[5, 10], 先生成[0,5], 再加5 package main import ( "fmt" "math/ran ......
随机数 区间 范围 Golang

golang context 应用

``` package main import ( "context" "fmt" "time" ) func main() { // 创建初始上下文 ctx := context.Background() // 派生可取消的上下文 cancelCtx, cancel := context.With ......
context golang

golang new和make

new和make 1. new 和 make 都用于分配内存; 2. new 对指针类型分配内存,返回值是分配类型的指针,new也可以对 slice 、map、channel 分配内存;但多用于自定义的结构体 3. make 仅用于 slice、map和 channel 类型的初始化分配内存空间,返 ......
golang make new

golang操作redis--String

首先,若要使用基于go操纵redis,需要先安装驱动 github.com/go-redis/redis/v8 然后,初始化一个redis,获取一个redis链接 client := redis.NewClient(&redis.Options{ Addr: "0.0.0.0:6379", Pass ......
golang String redis

个人微信机器人API的Golang源码用于对接ChatGPT-唯一客服系统文档中心

前面我们写的是对接企业微信客服、微信公众号、微信小程序现在来对接一下个人微信机器人效果如图:基于唯一客服的机器人接口实现的.env文件的配置就是机器人接口 API_BASE=https://{部署域名}/2/robotMessage API_ENT_ID={商户ID} REPLY_TYPE=GROU ......
机器人 源码 机器 ChatGPT 文档

Golang的viper包调用多次OnConfigChange

问题:修改了一次,而执行了两次这个函数 解决方案 把配置文件进行md5,保存其md5值。在调用这个函数时,再次读取文件进行md5。两者比对,如果相等就不执行下面的逻辑。 这样就解决了,一模一样的配置文件,保存多次,不会执行后续的逻辑。 但是,杜绝了大部分的场景,比如修改了一次,保存了两次,依旧会有看 ......
OnConfigChange Golang viper

golang操作redis

首先,基于docker查看redis镜像 docker ps -a 然后执行 docker run -p 6379:6379 -d redis:latest redis-server,将端口映射到本机 最后执行docker exec -ti 13e638ea1036 redis-cli -h 0.0 ......
golang redis

golang采坑

2023年4月8日12:00:28 ## 选择golang开发的几个理由 1. 语法简单,类C语法,但是又不是全c风格,刚开始会有些不适应 2. 部署简单,直接编译成二进制文件,直接部署 3. 高性能,很多互联网项目需要考虑的 4. 近些年,go的社区基金会都是大厂,未来发展问题不大 5. 国内外很 ......
golang

学习笔记-golang篇

#### 简短形式,使用 := 赋值操作符 我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。 a 和 b 的类型(int 和 bool)将由编译器自动推断。 这是使用变量 ......
笔记 golang

成品直播源码,golang计算时间段内的工作日数量

成品直播源码,golang计算时间段内的工作日数量 package mainimport ("fmt""time")func main() {start, _ := time.Parse("2006-01-02", "2021-10-01")end, _ := time.Parse("2006-01 ......
时间段 工作日 成品 源码 数量

Golang基础-字节跳动青训营

Golang 安装 访问 https://go.dev/ ,点击 Download ,下载对应平台安装包,安装即可 如果无法访问上述网址,可以改为访问 https://studygolang.com/dl 下载安装 如果访问 github 速度比较慢,建议配置 go mod proxy,参考 htt ......
字节 基础 Golang

Golang接收者方法语法糖

1、概述 在《Golang常用语法糖》这篇博文中我们讲解Golang中常用的12种语法糖,在本文我们主要讲解下接收者方法语法糖。 在介绍Golang接收者方法语法糖前,先简单说下Go 语言的指针 (Pointer),大致上理解如下: 变量名前的 & 符号,是取变量的内存地址,不是取值; 数据类型前的 ......
接收者 语法 方法 Golang

golang vrrp + ipvs 实现简单的服务ha

比较类似keeplived ,但是是比较简单的集成 参考图 基于vrrp 实现vip 的处理,同时master 以及backup 安装基于vrrp+ipvs 的程序,基于服务状态进行服务的切换处理 实现说明: 对于vrrp 处理可以基于包装的vrrp golang (rongfengliang/vr ......
golang vrrp ipvs

Golang每日一库之regex

本文地址: https://www.cnblogs.com/zichliang/p/17387436.html Golang日库合集:https://www.cnblogs.com/zichliang/category/2297320.html 简介 正则表达式是一种用来查询、匹配或替换字符串的技术 ......
Golang regex

context sample in golang

package main import ( "context" "fmt" "sync" "time" ) func routine(id int, ctx context.Context, msg chan int, wg *sync.WaitGroup) { defer wg.Done() fm ......
context sample golang in

有趣的golang编程题--猜数字游戏

问题描述 一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。 输入格式: 输入在第一行给出一个正整数N(≤10e4)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。 输出格式: 在一行 ......
数字 golang

golang的zap日志切割

package internalimport ( "github.com/flipped-aurora/gin-vue-admin/server/global" rotatelogs "github.com/lestrrat-go/file-rotatelogs" "go.uber.org/zap/ ......
golang 日志 zap

golang获得基础硬件信息

package utilsimport ( "runtime" "time" "github.com/shirou/gopsutil/v3/cpu" "github.com/shirou/gopsutil/v3/disk" "github.com/shirou/gopsutil/v3/mem")co ......
硬件 基础 golang 信息

golang 写文件的几种方法 (临时文件)

一、写文件写文件一般步骤 打开文件,获取文件句柄根据不同方法,将数据写入关闭文件句柄 打开文件,获取文件句柄os.OpenFile(path, os.O_CREATE, 0666)我们来了解一下第二个参数的含义: O_RDONLY // 只读模式打开文件O_WRONLY // 只写模式打开文件O_R ......
文件 方法 golang

golang中xorm自动维护表结构自动导入数据的实现

Xorm简介 Go 标准库提供的数据库接口database/sql比较底层,使用它来操作数据库非常繁琐,而且容易出错。因而社区开源了不少第三方库,有各式各样的 ORM (Object Relational Mapping,对象关系映射库),如gorm和xorm。其中xorm是一个简单但强大的ORM ......
结构 数据 golang xorm

Golang GMP原理(2)

GMP调度场景 场景1 P拥有G1,M1获取P后开始运行G1,G1使用 go func 创建G2,为了局部性G2优先加入到P1的本地队列 场景2 G1运行完成后(函数:goexit),M上运行的goroutine切换为G0,G0负责调度时协程的切换(函数:schedule)。从P的本地队列取G2,从 ......
原理 Golang GMP

Golang 网络爬虫框架gocolly

Golang 是一门非常适合编写网络爬虫的语言,它有着高效的并发处理能力和丰富的网络编程库。下面是一个简单的 Golang 网络爬虫示例: package main import ( "fmt" "net/http" "io/ioutil" "regexp" ) func main() { resp ......
爬虫 框架 gocolly Golang 网络