Golang实现SSH、SFTP操作小结

目录1 前言2 Go实现2.1 配置相关参数2.2 建立连接2.3 创建会话2.4 执行操作2.5 示例代码(执行命令)2.6(创建伪终端)2.7 完整代码1 前言在日常的一些开发场景中,我们需要去和...

Go语言变量初始化的实现示例

目录引言举例多个变量同时赋值总结引言在Go语言中,变量的初始化是编写程序时经常遇到的重要操作之一。通过正确地初始化变量,我们可以确保程序的正确性和可读性,并且能够避免一...

浅析Go语言中的逃逸分析

目录内存分配原理逃逸分析的作用结论内存分配原理Go语言使用转义分析来确定变量存储的位置,通常会尝试将所有的Go值存储在函数栈帧中,这种方式称为栈分配。编译器可以根据代码...

使用Go实现在命令行输出好看的表格

目录生成Table表头设置插入行表格标题自动标号单元格合并列合并行合并样式设置居中设置数字自动高亮标红完整Demo代码结语最近在写一些运维小工具,比如批量进行ping包的工具,...

golang基于Mutex实现可重入锁

目录golang基于Mutex实现可重入锁为什么需要可重入锁锁重入的定义重入锁的简单实现思路首先获取到goroutine的id然后开始编写可重入锁的结构体测试用例具体实现golang基于Mu...

golang如何用http.NewRequest创建get和post请求

目录golang用http.NewRequest创建get和post请求go post 调用http.NewRequest出现错误:400 bad request踩坑问题解决总结golang用http.NewRequest创建get和post请求在Go语言...

VsCode下开发Go语言的环境配置超详细图文详解

目录1.配置插件1.1.中文插件1.2.Go环境插件1.3.安装Go本身的开发工具2.VSCode的配置优化3.用VSCode 写个程序3.1.打开GOPATH所在的src目录3.2.在项目文件夹下写GO代码3.3.添...

详解如何使用unsafe标准库突破Golang中的类型限制

目录1 简介2 标准库unsafe的简单介绍2.1 获取大小 Sizeof2.2 使用对齐的例子小结1 简介在使用c语言编程时,常常因为类型的问题大伤脑筋,而其他语言比如java,python默认类型又是...

详解Go使用Viper和YAML管理配置文件

目录Viper简介YAML配置文件的优势使用Viper读取YAML配置读取列表配置总结在软件开发中,配置管理是一项基本但至关重要的任务,它涉及到如何有效地管理应用程序的配置变量,例如数...

Go的os/exec执行超时导致程序死机的解决方案

目录1.cmd执行命令2.CommandContext设置超时3.程序继续死机4. 当我们给出反弹sh时,超时会不会导致sh失效1.cmd执行命令先看一个简单的命令执行代码import ( "fmt" "os/exec")...

浅析golang如何在多线程中避免CPU指令重排

目录起因程序测试类似的指令和不同的平台起因golang 的发明初衷便是多线程,是一门专门用于多线程高并发的编程语言。其独创的 GMP 模型在多线程的开发上提供了很大的便利。现...

golang读取http的body时遇到的坑及解决

目录golang读取http的body时遇到的坑cliservergolang读取Response Body超时问题问题描述问题原因解决办法总结golang读取http的body时遇到的坑当服务端对http的body进行解析...

golang中的io.ReadCloser与ioutil.NopCloser使用

目录io.ReadCloser与ioutil.NopCloser使用golang中的ioutil和log包总结io.ReadCloser与ioutil.NopCloser使用type ReadCloser interface { Reader Closer}type nopCloser st...

golang使用iconv报undefined:XXX的问题处理方案

目录golang使用iconv报错问题处理报错信息总结golang使用iconv报错问题处理在使用github.com/qiniu/iconv做字符集转换时会报错:undefined通过查询文档,猜测应该是windows环境...

Golang线上内存爆掉问题排查(pprof)与解决

目录Golang线上内存爆掉问题排查(pprof)1 问题描述2 pprof分析①获取堆内存分配情况:go tool pprof http://xx/debug/pprof/heap②过滤出占用堆内存前10的方法:top 10③查看方...

golang实现大文件读取的代码示例

在实际工作,我们需要读取大数据文件,文件可能上G百G,所以我们不可能一次性的读取到内存,io.readAll不可用,那么我们可以考虑分块,IO流的方式如io.copy.对比两者:io.ReadAll:io.Read...

使用Golang实现AES加解密的代码示例

目录前言一、AES是什么?二、代码实现拓展:AES加密和解密的三种模式实现三、总结前言在现代的数据安全中,加密和解密是极其重要的一环。其中,高级加密标准(AES)是最广泛使用的加密...

如何解析golang中Context在HTTP服务中的角色

目录问题背景错误追踪Context总结问题背景在go语言的http服务中,我们常常会使用到Context来取消一个请求,或者取消数据的读取。偶然的一次尝试,让我对Context有了一定的兴趣。...

Golang通道阻塞情况与通道无阻塞实现小结

目录一、通道阻塞原理二、通道阻塞场景2.1 无缓冲通道2.2 有缓存通道三、通道无阻塞读写3.1 Select实现无阻塞读写3.2 使用Select+超时改善无阻塞读写四、总结五、参考链接...

go中sync.RWMutex的源码解读

目录简介源码结构RLockRUnlockUnlockgo 运行时方法简介简述sync包中读写锁的源码。 (go -version 1.21)读写锁(RWMutex)是一种并发控制机制,用于在多个 goroutine 之间对共享资源...

详解Go语言如何解决map并发安全问题

目录详解map中的并发安全问题问题复现并发操作失败的原因上锁解决并发安全问题使用自带的sync.map进行并发读写详解sync.map并发操作流程常规sync.map并发读或写sync.map修...

golang标准库crc32的使用样例

目录1.概述2.API简介3.使用样例总结 1.概述crc32实现了32位循环冗余检测算法的实现。目前crc32内部提供 了三种常用的多项式,采用查表法来提高计算checksum的效率。通过crc3...

golang run时报undefined错误的解决

目录golang run时报undefined错误问题描述运行时报错原因解决办法goland:运行时undefined: insertRowDemo报错总结golang run时报undefined错误问题描述在golang中同一个包中...

Golang绘制数列趋势图的操作步骤

目录步骤1:安装绘图库步骤2:准备数列数据步骤3:编写Go程序步骤4:编译并运行程序拓展要在Go语言中绘制数列的趋势图,遵循下面的步骤:步骤1:安装绘图库首先,需要安装Gonum绘图库。在终...

详解如何解决golang定时器引发的id重复问题

目录问题描述简述根因问题代码根因分析验证问题描述线上服务日志中突然出现很多主键冲突的异常,而这个主键是一个int64的id,这个id的生成依赖了秒级时间戳和机器码.那么下面...

浅析如何利用Go的plugin机制实现热更新

目录什么是热更新?实现方案开始验证尝试热更新其他策略总结什么是热更新?先简单说下什么是热更新。热更新,或称热重载或动态更新,是一种软件更新技术,允许程序在运行时,不停机更新...

使用Go语言开发短链接服务的方法

目录应用场景原理代码实践总结源码:https://gitee.com/alxps/short_link  通过这个项目,你可以学到:短链接原理Golang后端项目分层接口逻辑涉及数据库、缓存、http请求,如何进...

Golang HTTP请求Json响应解析方法以及解读失败的原因

目录一、Golang HTTP请求Json响应解析方法二、Golang json解析失败示例与原因原因注意总结一、Golang HTTP请求Json响应解析方法在Golang Web编程中,json格式是常见的传输格...

详解如何使用Golang实现Cron定时任务

目录前言一、Cron是什么?二、代码实现1.安装依赖2.代码实现3.常用表达式三、总结前言定时任务是许多应用程序中常见的一种需求,它们可以用于执行定期的清理任务,发送通知,生成报...

go-python 库使用应用案例

目录1. 引言介绍Go-Python库及其作用Go与Python的优势及适用场景2. 安装与配置安装Go-Python库及其依赖配置Go与Python环境变量3. 快速入门使用示例代码演示基本用法解释示...

Golang流程控制语句的具体使用

目录顺序控制分支控制if语句switch语句循环控制for循环语句跳转控制break语句continue语句goto语句return语句顺序控制顺序控制默认情况下,Go代码执行顺序是按照从上到下依次...

Go defer与time.sleep的使用与区别

目录问题运行结果分析设置断点debug查看step1step2step3step4step5step6探讨defer + 输出语句defer + 匿名函数总结扩展请大家看下面这段代码,看运行结果会出现什么,为什么?问...

详解如何在Go语言中生成随机种子

目录time.Now().UnixNanomaphash.HashcryptoRand.Read映射表参考资料time.Now().UnixNano这是用的最多的,但是,也是安全隐患最大的方法。从表面上看go的时间方法最大精度到纳...

使用Go语言实现一个简单的无界资源池

目录写在文章开头需求落地给出资源池结构创建资源池获取资源释放与关闭测试代码与输出小结写在文章开头我们希望通过go语言实现一个简单的资源池,而这个资源池的资源包括但不...

Go标准库Flag库和Log库的使用

目录一.Flag1.1 os.Args1.2 flag包的基本使用二. Log1.1 使用Logger1.2 配置logger1.3 配置日志前缀1.4 配置日志输出位置1.5 创建logger一.FlagGo语言内置的flag包实现了命...

GoLang中panic和recover作用详解

目录问题引出:解答:panic:recover:使用场景:问题引出:Go语言中的panic和recover有什么作用?解答:在Go语言中,panic 和 recover 是用于处理程序错误和恢复的机制。panic:panic 是一...

go切片和指针切片示例详解

目录切片(Slice)指针的切片结构体切片与结构体指针切片的区别能否直接遍历结构体切片并赋值给结构体指针切片示例说明结构体指针切片的使用能否直接遍历结构体指针切片并赋值...

Golang内存泄露场景与定位方式的实现

目录一、产生原因二、排查方式三、通过 pprof 的命令排查内存泄露问题3.1 通过 pprof 的命令行分析 heap3.2 修改 for ... select ... time.After 造成的内存泄露四、总结五...

浅析go语言如何实现协程的抢占式调度的

目录详解协程抢占式调度函数调用间进行抢占式调度基于系统调用发起信号的抢占式调度详解协程抢占式调度函数调用间进行抢占式调度假设我们现在有这样一个协程,它会进行函数嵌...

Golang实现心跳机制的示例详解

目录1、服务端代码2、客户端代码3、最终实现效果4、方法补充1、服务端代码package main import ( "fmt" "net") func handleClient(conn net.Conn) { defer conn.Close() f...

Go实现将io.Writer转换成字符串

假设我们需要在Go中运行下面的命令:PS -A | grep wget这里需要写成两个exec.Command,如下,第一个命令为cmd,第二个为cmd2:cmd := exec.Command("PS", "-A")cmd2 := exec.Command(...

golang操作Redis的实现示例

目录Redis的作用go实现建立redis连接设置指定键的值获取指定键的值执行原生的 Redis 命令设置指定键的值,并返回键的旧值键不存在时设置键的值批量获取多个键的值批量设置多...

golang内存逃逸的学习笔记

目录内存逃逸策略逃逸场景分析指针逃逸栈空间不足逃逸动态类型逃逸闭包引用对象逃逸总结逃逸分析( Escape analysis) 是指由编译器决定内存分配的位置, 不需要程序员指定。 函...

Golang图片验证码的使用方法

目录一、背景二、基本使用1、生成验证码base64字符串2、后端校验验证码3、Redis存储驱动代码: RedisStore三、总结一、背景 最近在使用到Golang进行原生开发,注册和登...

golang testing使用示例小结

目录testing包服务于自动化测试基本测试Table Drvien TestParallel()ExampleXXX()压力测试重置计时器并行测试内存统计自定义度量值子测试模糊测试testing包服务于自动化测...

node-exporter被检测出来pprof调试信息泄露漏洞问题

目录说在前面解决方法结语说在前面惯例开篇吐槽,有些仔仔习惯搞点自研的安全扫描工具,然后加点DIY元素,他也不管扫的准不准,就要给你报个高中危的漏洞,然后就要去修复,这次遇到个...

详解go语言是如何实现协程的

目录写在文章开头详解协程工作机制和实现协程示例协程实现结构谈谈go语言对于线程的抽象小结写在文章开头go语言的精华就在于协程的设计,只有理解协程的设计思想和工作机制,才...

Go语言中常用json处理操作小结

目录反序列化(解析 JSON)序列化(将 Go 对象转换为 JSON)处理嵌套结构和数组读取 JSON 文件写入 JSON 文件在 Go 中,你可以使用内置的 encoding/json 包来处理 JSON 格式数据。该...

golang中的net/http库基本使用详解

目录关于net/http库发送Get请求并获取响应发送Post请求并获取响应关于net/http库我们先看看标准库net/http如何处理一个请求。import ( "fmt" "log" "net/http")var count =...

Go语言中两个比较流行的缓存库使用示例

目录前言1. go-cache2. bigcache总结前言在 Go 中实现带有过期时间的缓存通常需要一个可以自动处理键值过期的缓存系统。虽然标准库中没有直接提供这种功能,但有几个流行的第...

返回顶部
顶部