go-jwt jwt go
[ubuntu]安装配置go
系统环境 ubuntu18.04 安装配置 安装Go语言 sudo apt-get update sudo apt-get -y upgrade wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz sudo tar ......
【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ......
Go坑:time.After可能导致的内存泄露问题分析
Go 中 time.After 可能导致的内存泄露 一、Time 包中定时器函数 go v1.20.4 定时函数:NewTicker,NewTimer 和 time.After 介绍 time 包中有 3 个比较常用的定时函数:NewTicker,NewTimer 和 time.After: New ......
基于.NetCore开发博客项目 StarBlog - (27) 使用JWT保护接口
前言 这是StarBlog系列在2023年的第二篇更新😂 这几个月都在忙,更新变得很不勤快,但是拖着不更新我的心里更慌,很久没写,要开头就变得很难😑 说回正题,之前的文章里,我们已经把博客关键的接口都开发完成了,但还少了一个最关键的「认证授权」,少了这东西,网站就跟筛子一样,谁都可以来添加和删除 ......
go krotos proto编译引用外部包 was not found or had errors
前言 kratos protos 生成 pb.go 文件时,会出现引用其他 proto 文件报错 was not found or had errors,因找不到此文件而无法编译。 解决 首先我们先了解下 protoc 中 import 的两条规则: import 不允许使用相对路径; import ......
Go语言 - 二进制数转十进制数
二进制转10进制的方法 最近在备考软考的软件设计师考试,在学习过程遇到很多于计算机基础计算相关的知识点,正好最近在学Go语言,所以就把计算的方式用Go语言实现一下 代码示例 /* 转换规则: 11001 从末尾到开头,以2为底数,从0开始递增为指数 * 二进制数,然后将这些二进制数相加即可得出10进 ......
Go并发编程:发生死锁、活锁的案例分析
什么是死锁、活锁 什么是死锁:就是在并发程序中,两个或多个线程彼此等待对方完成操作,从而导致它们都被阻塞,并无限期地等待对方完成。这种情况下,程序会卡死,无法继续执行。 什么是活锁:就是程序一直在运行,但是无法取得进展。例如,在某些情况下,多个线程会争夺同一个资源,然后每个线程都会释放资源,以便其他 ......
2、go程序接入prometheus
参考:https://prometheus.io/docs/guides/go-application/ go默认基础指标 package main import ( "net/http" "github.com/prometheus/client_golang/prometheus/promhtt ......
Go 汇编详解
Go 汇编详解 https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247502457&idx=1&sn=9b754e6b17ade0d48694d089b6537092&chksm=e9d3019bdea4888df6dbde663632d ......
Go
macOS brew install go export GOPROXY=https://proxy.golang.com.cn,direct Linux brew install go export GOPROXY=https://proxy.golang.com.cn,direct Window ......
Go-net源码解析
学习一门语言,那么我们必然要涉及到网络通信,而谈到网络通信却又离不开tcp,这里我们利用go标准库net来模拟一个服务端、客户端的流程,从而深入学习其中的代码流程(深入其中解析本质) func main() { server, err := net.Listen("tcp", "127.0.0.1: ......
go 数据类型
序号 类型和描述 1 布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2 数字类型整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 3 字符串类型:字符串就是一 ......
2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。
2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。 答案2023-04-30: resampling_audio.c 是 FFmpeg 中的一个源文件,其主要功能是实现音频重采样。 音频重采样是指将一段音频数据从一个采样率、声道数或 ......
go语言中的数据哈希
哈希算法 哈希函数的基本特征 输入可以是任意长度。 输出是固定长度。 根据输入很容易计算出输出。 根据输出很难计算出输入(几乎不可能)。 两个不同的输入几乎不可能得到相同的输出。 SHA SHA(Secure Hash Algorithm) 安全散列算法,是一系列密码散列函数,有多个不同安全等级的版 ......
为什么 Go for-range 的 value 值地址每次都一样?
原文链接: 为什么 Go for-range 的 value 值地址每次都一样? 循环语句是一种常用的控制结构,在 Go 语言中,除了 for 关键字以外,还有一个 range 关键字,可以使用 for-range 循环迭代数组、切片、字符串、map 和 channel 这些数据类型。 但是在使用 ......
Go语言入门13(runtime包)
Runtime包 GOMAXPROCS() 用来设置可以并行计算的CPU核数最大值,并返回之前的值,具体使用方法上一篇有些,这里不再赘述 Gosched() 用于让出CPU时间片,让出当前goroutine的执行权限,调度器安排其他等待的任务运行,并在下次某个时候从该位置恢复执行 Goexi ......
【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ......
golang原生实现JWT
golang原生实现JWT JWT(JSON Web Token)是一种基于JSON的安全令牌,可以用于在不同系统之间传输认证信息。在Go中实现JWT验证,可以通过标准库crypto/hmac、crypto/sha256和encoding/base64来编写自己的JWT。 获取Token 我们在此封 ......
go语言channel
go语言channel 设计原理 go语言中提倡:不要通过共享内存方式进行通信,而应该通过通信的方式共享内存。 在很多编程语言中,多个线程传递数据的方式一般是共享内存,为了解决线程竞争,我们需要限制同一时间能够读写这些变量的线程数量,然而这与go语言的设计并不相同。 虽然在go语言中也能使用共享内存 ......
Cheems. Would you like going to the dock later to order some French fries?
Prologue " So, where are we going? " " I'm going to the dock later to order some French fries. " " No, you misunderstood... I mean, what is the ultima ......
云原生时代崛起的编程语言Go基础实战
Go语言由于来自全球技术大厂谷歌创造及推动,其生态发展极其迅速,有可能成为未来十年内最有统治力的开发语言。本篇主要介绍Go目前发力的使用场景、开发环境、基础命令、命名规范,进一步了解其原生标准库的强大,最后通过多个Go代码示例演示了基础语法的使用,从而具备初级编程能力。 ......
go语言 数组和切片、可变长参数、maps、字符串、指针、结构体、方法、接口
==数组和切片== 数组 # 1 定义,初始化,使用 # 2 数组是值类型 数字,字符串,布尔,数组,都是值类型,真正直接存数据 切片,map,指针 引用类型,是个地址,指向了具体的值 # 3 数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋值为1 ,其他都 ......
Go
今日内容 1 字符串 package main // 字符串 func main() { // 1 定义字符串 //var s = "中alqz" // 2 字符串可以按下标取值,不能改 //s[0]=98 //fmt.Println(s[0]) // 取字节,是个数字 //fmt.Println( ......
Go笔记(十):函数
1、函数 函数一般用于执行某一特定的任务,go函数有三个要素:函数名称、返回类型、参数。 2、函数特性 1、go中不允许函数重载(overload),不允许函数同名; 2、go中函数不能嵌套函数,但可以嵌套匿名函数; 3、函数可作为参数传递给另一个函数; 4、函数的返回值可以是一个函数; 5、函数调 ......
【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
2022-04-27:用go语言重写ffmpeg的remuxing.c示例。
2022-04-27:用go语言重写ffmpeg的remuxing.c示例。 答案2022-04-27: ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命令行工具。它可以将音频、视频和字幕等元素从源文件中提取出来,并按照用户指定的方式重新封装到目标文件中 ......
go
今日内容 1 数组和切片 1.1 数组 # 1 定义,初始化,使用 # 2 数组是值类型 -数字,字符串,布尔,数组,都是值类型,真正直接存数据 -切片,map,指针 引用类型,是个地址,指向了具体的值 # 3数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋 ......
Go--日志
一、Logger go语言默认提供的日志功能,包为ttps://golang.org/pkg/log/ 优势: 使用非常简单,可以设置任何io.Writer作为日志记录输出并向其发送要写入的日志 劣势: 仅限基本的日志级别 只有一个Print选项。不支持INFO/DEBUG等多个级别 对于错误日志, ......
Go语言协程技术文档
协程(goroutine)是Go语言的一种轻量级线程,可以在一个线程中运行多个协程,从而实现高并发程序。协程具有低开销、高效率和易于管理等优点,被广泛应用于网络服务、云计算、大数据处理和人工智能等领域。本文将介绍Go语言协程的基本概念和使用方法。 协程的概念 协程是一种用户级线程,由Go语言的运行时 ......
go语言实现并发遍历目录
go语言实现并发遍历目录 目录树结构定义 先实现一个目录树的数据结构定义,需要支持共享访问。 package main import ( "os" "strings" "sync" ) type ( // 目录项 DirEntry struct { Name string `json:"name"` ......