定时器context select go

go gc

垃圾回收 (Garbage Collecting)思路 1. "标记-清除〞 go的做法 2. "标记-整理〞 标记后删除, 删除后重新把内存空间整理 java 早期 3. "标记 - 复制〞 两块相似的内存, 直接把有用的拷贝到另外一块上去 java 现阶段 Go因为堆内存结构的独特优势,选择最简 ......
go gc

Linux下设置定时任务常用的三种方法

在 Linux 系统中,设置定时任务是一项常见且重要的操作,它有助于自动化执行各种任务,如系统维护、备份和日志审计。Linux 提供了多种工具来安排这些自动化任务,其中最常用的三种方法是 Cron、At 和 Systemd Timers。 1. cron Cron 是 Linux 中最传统且广泛使用 ......
常用 任务 方法 Linux

go 内存管理

协程栈 go 栈的位置 1. Go 协程栈位于 Go-堆内存上 2. Go 堆内存位于操作系统虚拟内存上 go 栈的工作流程 以main.main为出发点 要记录runtime.main的栈基地址 记录 a 和 b的局部变量值 开辟一个空间记录 sum函数的返回值 记录 b 和 a的值, 这里是为了 ......
内存 go

Go切片是值传递还是引用传递?

Go没有引用传递和引用类型!!! 很多人有个误区,认为涉及Go切片的参数是引用传递,或者经常听到Go切片是引用类型这种说法,今天我们就来说一下方面的问题。 什么是值传递? 将实参的值传递给形参,形参是实参的一份拷贝,实参和形参的内存地址不同。函数内对形参值内容的修改,是否会影响实参的值内容,取决于参 ......
还是

Go - check if an error contains a string

if err != nil { if strings.Contains(sql.ErrNoRows.Error(), err.Error()) { ctx.JSON(http.StatusNotFound, errorResponse(err)) return } ctx.JSON(http.Sta ......
contains string check error Go

GO富集分析图

1. GO富集分析 输入数据 输入文件需要有3列信息: ONTOLOGY:GO分类,BP/CC/MFTerm:GO名称Count:富集在每个Term上基因数目 ONTOLOGY ID Term GeneRatio BgRatio pvalue p.adjust qvalue geneID Count ......
分析图

基本定时器TIM6实现精确延时

1、基本定时器的特点 (1)、16位自动重装载累加计数器 (2)、16位可编程(可实时修改)预分频器,用于对输入的时钟按系数为1~65536之间的任意数值 !!!注意基本定时器只有向上计数模式,不要被框图和数据手册上的一些描述误导,基本定时器寄存器中根本没有计数模式的配置相关位。 2、基本定时器的配 ......
定时器 TIM6 TIM

STM32一个定时器输出四路不同频率和占空比PWM波的方法

一般来说,一个定时器输出4路频率相同、占空比不同的PWM波是比较容易的,使用PWM模式即可实现。如果说是输出4路频率不同、占空比不同的PWM就没有现成的模式,是不是无法实现了呢?答案肯定是“不”,只要肯思考就肯定有解决方案(计算机是人类发明的,我们所能遇到的大部分问题是可以通过我们的智慧去解决的,这 ......
定时器 频率 方法 STM PWM

go错误是否退出

func Demoquit(str *string) error { if str == nil { //log.Fatalf("is a not init object") //exit fmt.Println("is a not init object") // no exit //return ......
错误

2023-12-02:用go语言,如何求模立方根? x^3=a mod p, p是大于等于3的大质数, a是1到p-1范围的整数常数, x也是1到p-1范围的整数,求x。 p过大,x不能从1到p-1遍

2023-12-02:用go语言,如何求模立方根? x^3=a mod p, p是大于等于3的大质数, a是1到p-1范围的整数常数, x也是1到p-1范围的整数,求x。 p过大,x不能从1到p-1遍历。 答案2023-12-02: 灵捷3.5 大体步骤如下: 1.判断是否存在模立方根。有0,1,3 ......
整数 立方根 范围 质数 常数

关于 SAP Fiori Elements List Report Go 按钮的实现

代码位置: 这段代码是 JavaScript 中的一个方法 _regularTriggerSearch,它是 SmartFilterBar 对象的原型方法。这个方法的主要目的是在一定延迟后触发搜索操作。这段代码中涵盖了 JavaScript 中的一些主要特性和概念,包括对象、原型、方法、控制流(if ......
按钮 Elements Report Fiori List

Go使用asynq

asynq是基于reids的队列,支持多种形式 消费者 package main import ( "context" "fmt" "log" "os" "os/signal" "syscall" "time" "github.com/hibiken/asynq" ) // HandleMsg 处理 ......
asynq

Go plugin

创建plugin_1.go&编译 package main import "fmt" func Greet(name string) { fmt.Println("Hello", name) } go build -buildmode=plugin -o xxxx.so plugin_1.go 加载 ......
plugin Go

Go - var _

var _ HelloServiceInterface = (*HelloServiceClient)(nil),其中HelloServiceClient是一个结构体,另外一个自然是一个interface。代码的作者称这行代码要求后面的结构体必须实现前面的接口,不然会出现编译错误。 另外有类似的语句 ......
var Go

go三种超时退出方法

Golang实现 超时退出 有哪三种方式,你知道吗? 原创 磊丰 Go语言圈 2023-11-21 08:30 发表于美国 收录于合集#学Go语言哪些事儿241个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 公众号 ......
方法

go读写锁

go读写锁 互斥锁每次只让一 g通过,去读写数据。但是读数据操作,并发其实没有问题。所以诞生了 读写锁。 读协程可以并发,一起读。但是 写协程还是要走互斥锁,只能一个个通过。 先加了读锁 先加了读锁。那么写的协程,就需要去休眠队列中等待。一直到读锁都释放。 先加了写锁 这个时候,不管再来 写协程还是 ......

记一次vscode 打开go项目的处理方式

问题:需要用vscode打开 没有用 go.mod 管理的项目 打包项目为linux执行的二进制文件 vscode 全局 settings.json配置 ```json { "go.formatTool": "gofmt", "go.gopath": "D:\\GoPath;", "go.goroo ......
方式 项目 vscode

记一次vscode 打开go项目的处理方式

问题:需要用vscode打开 没有用`go.mod` 管理的项目 打包项目为linux执行的二进制文件 vscode 全局`settings.json`配置``` <br/> ```json{ "go.formatTool": "gofmt", "go.gopath": "D:\\GoPath;", ......
方式 项目 vscode

jwt在go中的应用

官网 JWT 什么是 JWT 在现代的 Web 应用开发中,目前已经有大半部分的应用都是使用的 jwt 的方式来做登录鉴权功能,那么什么是 jwt 呢? JSON Web Token(JWT) 是一个开放标准 RFC 519,它定义了一种紧凑且自包含的方式,用于作为 JSON 对象在各方面之间安全地 ......
jwt

go互斥锁

互斥锁的定义 type Mutex struct { state int32 sema uint32 } 一个 sema,背后实际上 是一个 休眠队列,可以看下上篇。 一个state,这个状态 分为4个部分。 后三位 各自代表一个状态。 前29位代表最大可等待协程的个数。 state的结构 lock ......

Go--命名规则

在Go语言中,项目名和文件名的命名规则有一些建议和惯例。以下是一些常见的规则和最佳实践: 项目名: 项目名应该简短、有意义,并能够清晰地表达项目的目的或功能。 项目名通常使用小写字母,使用连字符或下划线分隔单词。 项目名不应包含特殊字符或空格。 项目名应尽量避免与现有的库或包名冲突。 文件名: 文件 ......
规则 Go

Go语言实现GoF设计模式:备忘录模式的实践探索

在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。 ......
模式 设计模式 备忘录 语言 GoF

将注解定义的定时任务加入到线程池里面

1.在主启动类上添加线程池的配置: /** * 自定义线程池 */@Bean(name = "threadPoolTaskExecutor")public Executor threadPoolTaskExecutor() { ThreadPoolTaskExecutor executor = ne ......
注解 线程 任务

go锁基础 - atomic、sema

atomic和sema是实现go中锁的基础,简单看下他们的实现原理。 atomic `atomic 常用来作为保证原子性的操作。 当多个协程,同时一个数据进行操作时候,如果不加锁,最终的很难得到想要的结果。 var p int64 = 0 func add() { p = p + 1 } func ......
基础 atomic sema

windows定时自动关机

最近在测试pos机,要求下班前要自动关闭pos机,否则扣绩效,因此研究了一下windows的自动关机脚本。编写此文作为记录 步骤: 1、在Windows10桌面,右键点击此电脑图标,在弹出菜单中选择“管理”菜单项。 2、然后在打开的计算机管理窗口中,找到“任务计划程序”菜单项。 3、接下来依次点击“ ......
windows

Golang学习笔记-定时任务

指定具体时间执行 package main import ( "fmt" "time" ) func main() { // 指定执行时间为 2023-11-29 00:00:00 executionTime := time.Date(2023, time.November, 29, 0, 0, 0 ......
任务 笔记 Golang

使用Go Validator在Go应用中有效验证数据

使用Go Validator在Go应用中有效验证数据 原创 TimLiu 爱发白日梦的后端 2023-12-01 08:01 发表于广东 作为一名开发者,确保Go应用中处理的数据是有效和准确的非常重要。Go Validator是一个开源的数据验证库,为Go结构体提供强大且易于使用的数据验证功能。本篇 ......
Validator 数据

go-GMP 协程切换时机 和 协程实战

当m在执行某个g的时候,g非常耗时,例如一个for循环,每次循环sleep1分钟,循环1000次。 这个例子看似无聊,却是很难解决的,成功的避开了2个系统切换时机。 如果这个时候,一直执行这个g,别的g就会得不到执行,例如有g是处理用户支付的,这样就会造成收钱不积极。 协程饥饿问题 本地队列 本地队 ......
实战 时机 go-GMP GMP go

江科大STM32(3):定时器(4)定时器的编码器接口

1.编码器接口简介 Encoder Interface 编码器接口 编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度 每个高级定时器和通用定时器都拥有1个编码器接口 两个输入引脚借用了输入捕获的通道1和通道 ......
定时器 编码器 编码 接口 STM

SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语句详解

SQL SELECT INTO 语句 SELECT INTO 语句将数据从一个表复制到一个新表中。 SELECT INTO 语法 将所有列复制到新表中: SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition; 只复制 ......
SELECT INTO 语句 技巧 数据