golang进行简单权限认证的实现

golang进行简单权限认证的实现

使用JWT进行认证 JSON Web Tokens (JWT) are a more modern approach to authentication. As the web moves to a greater separation between the client and server, JWT provides a wonderful alternative to traditional cookie based authentication models. JWTs provide...

2022-11-25 405 0
Go语言中CGO的使用实践

Go语言中CGO的使用实践

       部门产品业务功能采用Golang开发,但是有些功能是用c写的,比如说net-snmp,bfd协议等等,像这些如果使用GO语言重编的话,既有实现的复杂度也需要相当长的时间,好在GO语言提供了CGO机制,使得能够在go代码中直接调用C的库函数,大大提高了效率,减少了重复开发工作,此外还支持在C语言中调用GO函数,这一点还是蛮强大的。 1. Go语言调用C函数例子: package main // // 引用的C头文件需...

2022-11-25 364 0
go语言yaml转map、map遍历的实现

go语言yaml转map、map遍历的实现

yaml文件内容 apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: mysql-snapshot spec: privileged: false allowPrivilegeEscalation: false volumes: - "*" hostNetwork: false hostIPC: false hostPID: false runAsUser:...

2022-11-25 426 0
go语言实现mqtt协议的实践

go语言实现mqtt协议的实践

一、什么是MQTT MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用 MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。...

2022-11-25 389 0
一些关于Go程序错误处理的相关建议

一些关于Go程序错误处理的相关建议

前言 Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每一层都判断错误并记录日志,从代码层面看,貌似很严谨,但是如果看日志会发现一堆重复的信息,等到排查问题时反而会造成干扰。 今天给大家总结三点Go代码错误处理相关的最佳实践给大家。 这些最佳实践也是网上一些前辈分享的,我自己实践后在这里用自己的语言描述出来,希望能对大家有所帮助。 认识error Go程序通过error类型的值表示错误 error...

2022-11-25 385 0
详解如何在Go服务中做链路追踪

详解如何在Go服务中做链路追踪

使用 Go 语言开发微服务的时候,需要追踪每一个请求的访问链路,这块在 Go 中目前没有很好的解决方案。 在 Java 中解决这个问题比较简单,可以使用 MDC,在一个进程内共享一个请求的 RequestId。 在 Go 中实现链路追踪有两种思路:一种是在项目中使用一个全局的 map, key 是 goroutine 的唯一 Id,value 是 RequestId,另一种思路可以使用 context.Context 来实现。 下面的代码基于 gin 框架来实现。 1. 使用全局 map 来实现 使用...

2022-11-25 357 0
谈论Go 什么时候会触发 GC问题

谈论Go 什么时候会触发 GC问题

在早期经常遭到唾弃的就是在垃圾回收(下称:GC)机制中 STW(Stop-The-World)的时间过长。那么这个时候,我们又会好奇一点,作为 STW 的起始,Go 语言中什么时候才会触发 GC 呢? 1、什么是 GC 在计算机科学中,垃圾回收(GC)是一种自动管理内存的机制,垃圾回收器会去尝试回收程序不再使用的对象及其占用的内存。 最早 John McCarthy 在 1959 年左右发明了垃圾回收,以简化 Lisp 中的手动内存管理的机制(来自 @wikipedia)。 2、为什么要 GC 手动管理内...

2022-11-25 394 0
Go语言变量与基础数据类型详情

Go语言变量与基础数据类型详情

一、基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1、Go 的特性 跨平台的编译型语言,交叉编译 管道(channel),切片(slice),并发(routine) 有垃圾回收机制 支持面向对象和面向过程的编程模式(Go 的面向对象没有类的概念) 2、Go 的常用命令 go env // go的环境变量 -GO111MODULE= // 空的,现在没有使用MO...

2022-11-25 383 0
Go语言中的逃逸分析究竟是什么?

Go语言中的逃逸分析究竟是什么?

1、逃逸分析介绍 学计算机的同学都知道,在编译原理中,分析指针动态范围的方法称之为逃逸分析。通俗来讲,当一个对象的指针被多个方法或线程引用时,我们称这个指针发生了“逃逸”。 Go语言的逃逸分析是编译器执行静态代码分析后,对内存管理进行的优化和简化,它可以决定一个变量是分配到堆还栈上。 写过C/C++的小伙伴应该知道,使用比较经典的malloc和new函数可以在堆上分配一块内存,这块内存的使用和回收(销毁)的任务在程序员中,处理不当,很可能会发生内存泄露。 2、Go中内存分配在哪里? 但是在Go语言中...

2022-11-25 379 0
深入浅析Go中三个点(...)用法

深入浅析Go中三个点(...)用法

‘…' 其实是go的一种语法糖。 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。 第二个用法是slice可以被打散进行传递。 实例: package main import ( "fmt" ) func main(){ name(1,2,3,4,5,6,7,8,9) //多个不确定数量的参数 var strss= []string{ "qwr", "234", "yu...

2022-11-25 370 0
搜狗输入法电脑版自动升级怎么关闭?搜狗输入法电脑版自动升级关闭方法

搜狗输入法电脑版自动升级怎么关闭?搜狗输入法电脑版自动升级关闭方法

      很多小伙伴在使用搜狗输入法电脑版的时候,想知道自动升级怎么关闭,下面小编就为大家带来搜狗输入法电脑版自动升级关闭方法,感兴趣的小伙伴不要错过哦!       搜狗输入法电脑版自动升级怎么关闭?搜狗输入法电脑版自动升级关闭方法       1、首先打开电脑,将输入法切换至搜狗输入法,然后点击输入法工具栏“工具箱”的...

2022-11-24 405 0
搜狗输入法电脑版怎么长句手写?搜狗输入法电脑版长句手写教程

搜狗输入法电脑版怎么长句手写?搜狗输入法电脑版长句手写教程

      有的小伙伴会问小编搜狗输入法电脑版怎么长句手写,下面小编就为大家详细的介绍一下,想知道的话就来看看吧,相信一定会帮到你们的。       搜狗输入法电脑版怎么长句手写?搜狗输入法电脑版长句手写教程       1、首先打开电脑的搜狗输入法,点击键盘图标。    ...

2022-11-24 413 0
搜狗输入法电脑版怎么使用制表符号?搜狗输入法电脑版使用制表符号教程

搜狗输入法电脑版怎么使用制表符号?搜狗输入法电脑版使用制表符号教程

      使用搜狗输入法电脑版的时候,很多小伙伴不知道怎么使用制表符号,下面小编就给大家带来搜狗输入法电脑版使用制表符号教程,有需要的小伙伴不要错过哦。       搜狗输入法电脑版怎么使用制表符号?搜狗输入法电脑版使用制表符号教程       1、首先打开电脑的搜狗输入法,点击上面的符号大全选项。...

2022-11-24 375 0
搜狗输入法电脑版怎么修改手写字体颜色?搜狗输入法电脑版修改手写字体颜色教程

搜狗输入法电脑版怎么修改手写字体颜色?搜狗输入法电脑版修改手写字体颜色教程

      今天小编为大家带来了搜狗输入法电脑版修改手写字体颜色教程,想知道怎么做的小伙伴来看看接下来的这篇文章吧,相信一定会帮到你们的。       搜狗输入法电脑版怎么修改手写字体颜色?搜狗输入法电脑版修改手写字体颜色教程       1、首先打开电脑的搜狗输入法,点击键盘图标。  &n...

2022-11-24 406 0
搜狗输入法电脑版怎么修改手写字体大小?搜狗输入法电脑版修改手写字体大小教程

搜狗输入法电脑版怎么修改手写字体大小?搜狗输入法电脑版修改手写字体大小教程

      很多小伙伴在使用搜狗输入法电脑版的时候,想知道怎么修改手写字体大小,下面小编就为大家分享教程,感兴趣的小伙伴不要错过哦!       搜狗输入法电脑版怎么修改手写字体大小?搜狗输入法电脑版修改手写字体大小教程       1、首先打开电脑的搜狗输入法,点击键盘图标。   ...

2022-11-24 392 0