Go实现文件分片上传

Go语言在写HTTP服务程序时,会经常用到文件上传和文件下载,文件上传和文件下载都可以用http包,默认的功能基本上够用了。http包支持文件下载的断点续传和进度显示,文件上传貌似不...

Go语言包管理工具Godep的用法

一、为什么要包管理默认Go的第三方包都是放在Gopath的src目录下,而且这些包都没有版本号的概念,这样的可能会出现一些问题。举个例子:当A同事将开发完程序之后,此时可能引用了一...

Go语言实现服务端消息接收和发送

本文实例为大家分享了Go实现服务端消息接收和发送的具体代码,供大家参考,具体内容如下一. 服务端接收数据并返回数据服务端代码package mainimport (   "net"   "fmt")fun...

Go实现文件上传和下载

本文实例为大家分享了Go实现文件上传和下载的具体代码,供大家参考,具体内容如下一.文件上传文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解...

详解Go语言中Goroutine退出机制的原理及使用

目录退出方式进程/main函数退出通过channel退出通过context退出通过Panic退出等待自己退出阻止goroutine退出的方法通过sync.WaitGroup通过channel封装总结goroutine是Go语...

go语言VScode see 'go help modules' (exit status 1)问题的解决过程

目录问题描述:解决方式:总结问题描述:go: go.mod file not found in current directory or any parent directory; see 'go help modules' (exit status 1)解决方式:(首先...

go mod详细使用教程

目录前言使用go path问题govendorgo mod介绍如何使用go modGO111MODULEgo mod命令使用go mod管理一个新项目1. 初始化项目2. 添加依赖go get升级使用replace替换无法直接获...

Go语言fmt.Sprintf格式化输出的语法与实例

格式化在逻辑中非常常用。使用格式化函数,要注意写法:fmt.Sprintf(格式化样式, 参数列表…)格式化样式:字符串形式,格式化动词以%开头。参数列表:多个参数以逗号分隔,个数必...

Go 类型转化工具库cast函数详解

目录1. cast是啥2. 两种API3. 源码分析1. cast是啥cast 是在Github上开源的工具库,就像他的名字一样,他为我们提供了非常便捷的类型转化的方法。我们可以通过下面的地址拉取ca...

Golang 模块引入及表格读写业务快速实现示例

目录介绍正文配置模块引入环境引入excelize库创建表格读取表格写入表格结语介绍在很多管理系统下都有不少让后端进行表格进行操作的业务需求,本期就带大家了解一下Golang中如...

Go语言实现文件上传

本文实例为大家分享了Go实现文件上传的具体代码,供大家参考,具体内容如下文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解析HTML表单(form)en...

GO语言原生实现文件上传功能

本文实例为大家分享了GO原生实现文件上传功能的具体代码,供大家参考,具体内容如下写在前面最近在学习go,发现实践才是检验真理的唯一标准。在不引入任何框架的基础上,利用go语言...

jenkins配置golang 代码工程自动发布的实现方法

目录前沿一、在jenkins宿主机上配置go环境;1、安装go;2、配置环境变量3、验证环境是否可用二、jenkis上配置项目1、jks上新建项目2、“源码管理”菜单添加git信息3...

Golang如何编写内存高效及CPU调优的Go结构体

目录前言输出结果输出结果前言结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构...

关于go-zero单体服务使用泛型简化注册Handler路由的问题

目录一、Golang环境安装及配置Go Modulemac OS安装Go#linux 安装Go#Windows安装Go#MODULE配置二、Goctl 安装二、初始化go-zero三、查看注册Handler路由流程greet.go四、对...

Golang channel为什么不会阻塞的原因详解

正文最近在学通道channel,发现一个简单的demo:package mainimport "fmt"func main() { chanInt := make(chan int) go func() { chanInt <- 100 }() res :...

Golang分布式应用定时任务示例详解

目录正文最小堆时间轮总结正文在系统开发中,有一类任务不是立即执行,而是在未来某个时间点或者按照一定间隔去执行,比如日志定期压缩、报表制作、过期数据清理等,这就是定时任务...

go单体日志采集zincsearch方案实现

目录前言一 构架二 zinsearch 安装二 logbeat三 zincsearch 使用经验1 关于删除2 关于日期date类型3 关于检索中时间选项结语前言微服务中的日志采集方案ELK(EFK)已经是基本...

go mock server的简易实现示例

目录前言代码步骤1步骤2步骤3步骤4最终效果最后前言学习golang也一段时间了,看了一些书,上周又看了一本入门级的《Go语言趣学指南》,是时候检验成果了。目的:通过读取本地mock数...

GO实现文件上传操作

本文实例为大家分享了GO实现文件上传操作的具体代码,供大家参考,具体内容如下由于需求中有文件上传这一个需求,在这里我们就学习一下go语言如何上传文件。本文主要通过表单的方...

Golang实现文件传输功能

本文实例为大家分享了Golang实现文件传输的具体代码,供大家参考,具体内容如下借助TCP完成文件的传输,基本思路如下:1、发送方(客户端)向服务端发送文件名,服务端保存该文件名。
2、...

Go GORM 事务详细介绍

目录禁用默认事务事务嵌套事务手动事务一个特殊的示例SavePoint、RollbackTo禁用默认事务为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面...

浅谈Golang内存逃逸

目录1.什么是内存逃逸2.什么是逃逸分析3.小结4.逃逸分析案例1.函数返回局部指针变量2.interface类型逃逸1.interface产生逃逸2.指向栈对象的指针不能在堆中3.闭包产生逃逸4....

Go语言select语句用法示例

目录用法使用场景实现收发功能注意事项用法多个通道 Channel 中信息的发送和接受处理的专用的语句—select 语句。select 语句会阻塞,直到其中的一个发送/接收操作准备...

在ubuntu下安装go开发环境的全过程

目录一、为ubuntu20.04更新源二、设置允许以root用户登录三、安装go四、安装goland工具五、安装ssh并配置允许root登录总结一、为ubuntu20.04更新源给root用户设置密码:命令:s...

Go语言异步API设计的扇入扇出模式详解

目录前言扇入/扇出服务Go 语言实现扇入/扇出模式前言扇出/扇入模式是更高级 API 集成的主要内容。这些应用程序并不总是表现出相同的可用性或性能特征。扇出是从电子工程中...

Golang交叉编译(跨平台编译)的使用

目录一、何为交叉编译二、交叉编译前的准备安装TDM-GCC三、简述交叉编译四、实练1. 默认编译2.交叉编译一个Arm+Linux小总结一、何为交叉编译简单地说,就是在一个平台上生成...

Golang实现HTTP编程请求和响应

请求:HTTP 请求报文由请求行、请求头部、空行、请求包体4个部分组成,如下图所示:请求行:请求行由方法字段、URL 字段 和HTTP 协议版本字段 3个部分组成,他们之间使用空格隔开。常...

Go Excelize API源码阅读Close及NewSheet方法示例解析

目录一、Go-Excelize简介二、Close()三、NewSheet()一、Go-Excelize简介Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准...

Go select使用与底层原理讲解

目录1. select的使用2. 底层原理3. 数据结构4. 几种常见 casecase 1case2case3case41. select的使用select 是 Go 提供的 IO 多路复用机制,可以用多个 case 同时监听多个 cha...

Go并发同步Mutex典型易错使用场景

目录Mutex的4种易错使用场景1.Lock/Unlock 不成对出现2.Copy 已使用的 Mutex3.重入4.死锁解决策略Mutex的4种易错使用场景1.Lock/Unlock 不成对出现Lock/Unlock 没有成对出...

Golang信号量设计实现示例详解

目录开篇信号量semaphore 扩展库实现AcquireReleaseTryAcquire总结开篇在我们此前的文章 Golang Mutex 原理解析 中曾提到过,Mutex 的底层结构包含了两个字段,state 和 sema:ty...

Go实现凯撒密码加密解密

目录1 凯撒密码加密设计思想2 Go实现2.1 导入包2.2 编写 caesar 方法3 凯撒密码解密4 其他实现5 测试总结1 凯撒密码加密凯撒密码(英语:Caesar cipher),或称凯撒加密、凯撒变换...

GO中sync包自由控制并发示例详解

目录资源竞争sync.Mutexsync.RWMutexsync.WaitGroupsync.Oncesync.Cond资源竞争channel 常用于并发通信,要保证并发安全,主要使用互斥锁。在并发的过程中,当一个内存被多个 gor...

Go结合Gin导出Mysql数据到Excel表格

目录1、实现目标2、使用的库3、项目目录4、主要代码编写4.1、excelize.go(主要工具类)4.2、userService.go(接受请求)4.2、测试结果5、文档代码地址1、实现目标Golang 使用exc...

Go语言并发编程基础上下文概念详解

目录前言1 Go 中的 Context2 Context 接口3 Context Tree4 创建上下文4.1 上下文创建函数4.2 Context 使用规范4.3 Context 使用场景5 总结前言相信大家以前在做阅读理解的...

Go底层channel实现原理及示例详解

目录概念:使用场景:底层数据结构:操作:创建发送接收关闭案例分析:概念:Go中的channel 是一个队列,遵循先进先出的原则,负责协程之间的通信(Go 语言提倡不要通过共享内存来通信,而要通...

Golang Http请求返回结果处理

在 Go 中 Http 请求的返回结果为 *http.Response 类型,Response.Body 类型为 io.Reader,把请求结果转化为Map需要进行一些处理。写一个公共方法来进行Response转Map处理:packag...

go mode tidy出现报错go: warning: “all“ matched no packages的解决方法

目录解析检查1.本地的go编译器版本2.go module构建模式未开启3. 是否在go.mod所在目录执行的go mod tidy总结查到的可能原因:
1.本地的go编译器版本
2. go module构建模式未...

一文详解go mod依赖管理详情

目录1. go的依赖管理发展2. go.mod 文件分析3. go mod依赖下载工具4. 可能出现的问题汇总1. go的依赖管理发展GOPATH 所有的依赖都放置在同一路径下,可以复用下载的依赖,但是...

go使用makefile脚本编译应用的方法小结

1. go介绍Go官方 提供一个名为go的命令,该命令可以用来下载go的依赖,构建安装go应用,运行和测试 Go程序等等, 我们比较常用的比如go get, go mod, go run , go test等等。但是,我...

Go常用技能日志log包创建使用示例

目录⛳️ 实战场景log 包 - 使用 LoggerLogger 配置使用 New 创建 logger⛳️ 实战场景在日常开发中,用到做最多的知识点除了字符串操作外,就数日志模块最常用了,毕竟有日志调试和...

golang 防缓存击穿singleflight的实现

目录一、什么是缓存击穿二、原理三、实现一、什么是缓存击穿当一个key是热点key时,一般会做缓存来抗大量并发,但当缓存失效的一瞬间,这些大量的并发请求会击穿缓存,直接请求数据...

Golang利用位运算实现为程序加速

目录前言用位运算优化其他奇淫巧技总结前言最近在持续优化之前编写的 JSON 解析库 xjson,主要是两个方面的优化。第一个是支持将一个 JSONObject 对象输出为 JSON 字符串。这...

一文详解Golang中net/http包的实现原理

目录前言http包执行流程http包源码分析端口监听请求解析路由分配响应处理前言Go语言自带的net/http包提供了HTTP客户端和服务端的实现,实现一个简单的http服务非常容易,其自带...

Go语言编译原理之源码调试

目录前言Goland的debug调试Go源码dlv工具调试Go源码安装常用命令dlv调试抽象语法树构建前言在前边几篇文章中分享了Go编译过程中的源码实现,本文主要是想分享一下我是怎么调...

Golang 中的 unsafe.Pointer 和 uintptr详解

目录前言uintptrunsafe.Pointer使用姿势常规类型互转Pointer => uintptr指针算数计算:Pointer => uintptr => Pointerreflect 包中从 uintptr => Ptr实战案例string vs []byt...

Go语言快速入门指针Map使用示例教程

目录1. 指针1.1 指针地址和指针类型1.2 指针取值1.3 空指针1.4 new 的使用1.5 new与make的区别2. Map2.1 什么是Mapkey,value存储hash冲突hash冲突的常见解决方法开放定址(线...

golang NewRequest/gorequest实现http请求的示例代码

通过go语言实现http请求http.Postimport (    "net/http"    "net/url")data := url.Values{"start":{"100"}, "hobby":{"xxxx"}}body := strings.NewReader(data.Enc...

Golang 断言与闭包使用解析

目录1. Go断言的使用2. 闭包的解读2.1 指针传递2.2 延迟绑定2.3 Go Routine的延迟绑定1. Go断言的使用Go中的断言用于判断变量的类型,其使用形式如下所示:value, ok := x.(T)...

返回顶部
顶部