定时器golang
golang之命令行工具Cobra
github地址: https://github.com/spf13/cobra [安装] go get -u github.com/spf13/cobra@latest 使用cobra_cli工具 go install github.com/spf13/cobra-cli@latest [使用] ......
golang-channel
什么是 channel 管道 channel 是 goroutine 与 goroutine 之间通信的重要桥梁 channel 是一个通道,用于端到端的数据传输,这有点像我们平常使用的消息队列,只不过 channel 的发送方和接受方是 goroutine 对象,属于内存级别的通信。 这里涉及到了 ......
在windows10上安装多个golang
在windows10上安装多个golang # 原理 下载不同go版本,然后重命名go可执行文件,然后配置环境变量,不同命令使用不同的版本。 其实所有的开发环境都可以这么使用。比如python2,python3 # 方法 问的[文心一言](https://yiyan.baidu.com/),哈哈哈哈 ......
golang-waitgroup
说明 golang通过waitgroup来实现并发控制,用法跟java的CountDownLatch 效果一样 WaitGroup 的使用场景和方法 我们通过goroutine运行一个或者一组任务,需要关心这组任务执行完了进行通知 WaitGroup 如同它的字面意思,就是等待一组 goroutin ......
一个思路:实现 golang 中的 `__file__` `__line__` 宏
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 测试 zaplog 发现,开启 caller 的调用,会使整个服务增加 2% 的损耗。 其实文件及其行号完全可以在编译期加上去,没必要带来运行期的性能损耗。 ......
golang 反射
参考 https://www.cnblogs.com/jiujuan/p/17142703.html float反射示例 package main import ( "fmt" "reflect" ) func main() { var x float64 = 1.2345 fmt.Println( ......
golang Context应用举例
Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、 一种约定)。 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() err ......
Golang method | Interfaces 示例
方法与接口(method Interface) package interFaces import ( "fmt" "log" ) // manager Appstore online account type Account struct { surName string givenName st ......
Jenkins 定时构建的规则语法
定时构建的规则语法与Linux系统的中计划任务相似。从左向右分别表示分,时,天,月,周 MINUTE HOUR DOM MONTH DOW MINUTEMinutes within the hour (0–59) HOURThe hour of the day (0–23) DOMThe day o ......
【vue2】实现数字纵向滚动效果(计时器效果)
需求: 在页面中显示一个数字,并在进入视口时显示计时器滚动效果: 效果如上 ↑ 新建组件ScrollNumber.vue: <template> <div style=" display: inline-flex; justify-content: flex-start; align-items: ......
Golang视频学习地址
GO 视频学习资料 Go编程基础: https://study.163.com/course/courseMain.htm?courseId=306002 8小时转职Golang工程师(如果你想低成本学习Go语言):https://www.bilibili.com/video/BV1gf4y1r79 ......
Golang 命名返回值和普通返回值
1、概述 在Go语言中,函数可以有命名返回值和普通(匿名)返回值。命名返回值会被视为定义在函数顶部的变量,并且在使用 return 语句返回时,不再必须在其后面指定参数名,也就是支持“裸”返回;而使用普通返回值时,使用 return 语句返回时,需要在其后面指定与普通返回值相同类型的参数名。 实际上 ......
闲谈:黑群晖的定时开机和定时关机如何实现
白群用户有一个独有的技能,可以在NAS上设置机器的自动开机关机任务。 那黑裙用户能不能实现这一功能呢? 可以的,你只需要一个合适的主板和一个支持远程控制功能的插座。 先看一张图,或许你已经明白了 此方案的核心就两个:小米的wifi插座开关+主板来电自启开启 当你想用nas时,可以手机远程控制小米开关 ......
golang 多生产者+多消费者模式
参考 https://gist.github.com/vitan/aedb628a40478cf8b6a33dc87a5ff52f https://gist.github.com/mochow13/74ee57078d58536929575ab481dd9693 1 package main imp ......
Golang 的骚操作:go:linkname
背景 在看源码时,一些源码方法没有方法体,难道说明这些方法为空?例如:time.Now调用的 now(), time.Sleep , reflect.makechan // Provided by package runtime. func now() (sec int64, nsec int32, ......
golang 1.18 workspace mode
why ? 为什么需要workspace 历史发展和版本依赖的管理 GOPATH 最开始的模式 开发者需要设置一个环境变量 GOPATH,用于指定项目的工作空间。GOPATH 是一个目录路径,其中包括了三个重要的子目录:src、bin 和 pkg 通过 go get 命令,GOPATH/src 下的 ......
Django celery 定时任务与周期任务的创建-暂停-开始-删除
发开阶段遇到了需要定时任务以及周期任务才能进行的事情,这里进行记录一下,防止下次我再写的时候写不明白。 首先在你们项目里面创建以下文件: celery: import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") fro ......
Winform中使用System.Windows.Forms.Timer多次启动停止计时器时绑定事件会重复多次执行
场景 C#中实现计时器功能(定时任务和计时多长时间后执行某方法): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106274074 以上关于定时器的使用。 在实现点击按钮启动定时器,点击停止按钮停止定时器时发现,重复多次后会导致 ......
Mysql数据库定时备份到OSS
背景 mysql运行在Docker中,计划每天定时备份数据并存储到阿里云OSS。其中用到了定时任务crontab、云存储管理rclone、shell脚本 部署脚本 # 创建目录 mkdir -p ~/task cd ~/task # 创建主备份脚本 touch backup_main.sh # 创建 ......
golang 的循环导入
内容来自对 chatgpt 的咨询 循环导入概念 在Go语言中,循环导入是一个需要避免的问题。它发生在两个或更多的包彼此导入对方,形成一个导入循环,导致编译器无法处理。 例如,假设你有两个包,包A和包B。包A导入了包B,然后包B又导入了包A,这就形成了一个循环导入。在这种情况下,编译器将无法确定要首 ......
golang 代码实现判断当前时间是否在"19:00"和"24:00"这两个时间范围内
代码是 chatgpt 写的 package main import ( "fmt" "time" ) func main() { now := time.Now() // 获取今天的年月日 year, month, day := now.Date() // 创建两个新的时间点,它们在今天的 19: ......
golang 怎么使用接口中声明的方法
假设你有一个golang 的 interface,里面声明了1个函数,怎么调用这个函数 type Man interface { Eat(ctx context.Context, food string}) error } 使用方式 创建结构体实现这个接口声明的方法,然后创建该结构体对象,调用方法 ......
golang 使用redis设置分布式锁 demo
内容来自对 chatgpt 的咨询 分布式锁是在多个节点上运行的应用程序中协调工作的一种常用方法,而Redis是实现分布式锁的流行选择。以下是使用Go语言和github.com/go-redis/redis库来设置Redis分布式锁的一个简单示例: 首先,确保你已经安装了该库: go get -u ......
异步任务与定时任务
1. 异步任务使用 (1)创建线程池配置 @Configuration @EnableAsync //开启多线程 public class ThreadPoolConfig { @Bean("taskExecutor") public Executor asyncServiceExecutor(){ ......
golang 对字符串进行base64编解码、md5 编码
内容来自对 chagpt 的咨询 一、对字符串进行 base64 编解码 base64 编码 要在Go语言中对字符串进行base64编码,你可以使用标准库中的encoding/base64包。以下是一个简单的示例: package main import ( "encoding/base64" "f ......
golang 把内容写到 csv 文件或者 xlsx 文件里
内容来自对 chatgpt 的咨询 csv 格式 csv 格式的文件使用 wps 或者 office 打开后是一个 excel 表格的形式,很容易看到表格里的数据。csv 格式跟 markdown 格式有点像,只需要按照固定的语法放置文本,保存后,用对应的渲染软件打开,就能得到想要的效果。 比如下面 ......
从一个golang 员工emp数组中,找到其中name相同的元素,把结果放到一个新数组里,代码实现
内容来自对 chatgpt 的咨询 为了找到具有相同名称的员工,并将结果放入一个新的数组中,我们可以首先使用一个映射(map)来存储每个名称及其出现的次数。然后,我们可以遍历原始数组并使用映射来判断是否有重复的名称。 以下是一个示例代码,演示如何实现这一目标: package main import ......
golang: 仅声明但未初始化的切片可以执行 for range 和 append 操作;仅声明但未初始化的 map,可以执行 for range 操作,但是不能执行添加元素操作
仅声明但未初始化的切片可以执行 for range 和 append 操作 你可以对一个未初始化的切片进行append和for range操作。 一个未初始化的切片的零值是nil,且其长度和容量都为0。你可以安全地使用append函数向其添加元素: var aaa []int64 aaa = app ......
Docker - ERROR: failed to solve: golang:latest: error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
Dockerfile: FROM golang:latest WORKDIR /app ADD . . RUN go get RUN go build -o app . CMD ["/app/app"] zzh@ZZHPC:/zdata/MyPrograms/Go/aaa$ docker build ......
JS 设置定时器与清除定时器
在前端,一些功能的实现需要用到定时器:轮询、定时开关弹窗、秒表、定时跳转等。。 一、设置定时器 window提供两个方法实现:setTimeout、setInterval setInterval():使一段代码每过一段时间就执行一次,比如轮询 setInterval(() => { console. ......