go-jwt jwt go

分享go的一些东西

使用值为nil的slice和map会发生什么? 在nil切片中添加元素成功。在nil的map中添加会panic,因为map没有分配实际内存。为空的切片底层数组的指针为nil,但是len,cap都是0,当append时,go会自动分配新的底 层数组。 2.访问map的key需要注意什么? 当访问map ......
东西

Go--连接mysql,增删改查

下载驱动库,下为官方推荐的,还有其他ORM库,暂时没涉及,故本文不做阐述 go get -u github.com/go-sql-driver/mysql 一、连接 1.1 直接连接,查询单行 package main import ( "database/sql" "fmt" _ "github. ......
mysql Go

go 循环语句

package main import "fmt" func main() { // 循环语句 // for init; condition; post {} // for condition {} // for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如 ......
语句 go

go const 用法

package main import "fmt" func main() { // 声明变量 // iota // iota,特殊常量,可以认为是一个可以被编译器修改的常量。 // 在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动 ......
const go

go 数字类型注意点

package main func main() { // 数字类型 // uint8 0-255 // uint16 0-65535 // //.... // int8 -128-127 // int16 -32768-32767 // // .... // byte 类似于 uint8 // r ......
类型 数字 go

Go开发环境

https://golang.google.cn/dl/ | go1.21.4.windows-386.zip | Archive | Windows | x86 | 69MB | 870a0e462b94671dc2d6cac707e9e19f7524fdc3c90711e6cd4450c3713 ......
环境

go接口多态性

浅谈Golang接口:作用、应用场景及实际应用 马哥Linux运维 2023-12-04 18:42 发表于江苏 引言: Golang(Go)作为一门现代的静态类型编程语言,提供了许多强大的特性,其中之一便是接口(interface)。接口是Golang中的一个核心概念,它具有广泛的应用场景,可以帮 ......
多态性 接口

go network poller 一

网络基础 协议架构 tcp链接 假如需要开发者去实现一套新的网络协议(例如 redis 的resp), 是基于TCP的, 那tcp这层的协议,是否需要开发者自己去实现? 这层如果自己实现, 其实很复杂, 会涉及很多算法相关. 因此, 出现了 socket 对传输层进行了抽象, 开发者不需要关注传输层 ......
network poller go

Go 语言中,函数的参数传递--值传递

在 Go 语言中,函数的参数传递是值传递的方式。当函数被调用时,函数参数的值会被拷贝到函数的参数变量中。 对于指针类型的参数,指针本身也是以值的方式进行传递。这意味着函数内部的指针参数将获得原始指针的拷贝,但这个拷贝仍然指向相同的内存地址。 当在函数内部修改通过指针传递的变量时,由于指针本身是值传递 ......
函数 参数 语言 Go

go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

go gc

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

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 ......
分析图

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

go锁基础 - atomic、sema

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