标签: Golang

Go语言Map与String的相互转换的实现

一.map转stringimport("encoding/json")funcMapToJson(parammap[string]interface{})string{dataType,_:=json.Marshal(param)dataString:=string(dataTy...

Golang 2021-04-07 63 0 0 阅读全文

Golang科学计数法转换String数字输出的实现

1、问题最近接手一个商城运单号模块,接手后发现有部分运单号返回给前端是按照科学计数法的方式返回,如:8.0497183772403904E+17,后查库发现这些运单号在excel导入的时候就是按照科学计数法导入,没做任何处理。按照科学计数法的形式返回给用户运单号,这样太不友好了,简直就是bug,所以...

Golang 2021-07-09 49 0 0 阅读全文

Golang的串行处理和并行处理区别

程序运算时往往需要数据,而数据的IO又往往需要时间传输,而常见的串行处理,是一个任务处理完成才接着处理新的任务,其效率低下可想而知。假如有3个任务要处理,而每个任务都有一定的阻塞,串行处理大概是这个样子:main.gopackagemainimport("fmt""ti...

Golang 2021-07-09 54 0 0 阅读全文

Golang实现对Docker容器心跳监控功能

自己写的go程序放到线上本来编译成二进制扔上去就行啦,但是怀着一颗docker的心,最终还是将它放到docker容器中运行起来了,运行起来也ok,一个最小容器64M,统一管理起来也方便,但是毕竟是个线上长驻内存的服务程序,万一跑挂了怎么办,如何才能监控它,直接上go代码,网上代码,略微做了下注释,但...

Golang 2021-04-28 51 0 0 阅读全文

Golang中Context的作用详解

当一个goroutine可以启动其他goroutine,而这些goroutine可以启动其他goroutine,依此类推,则第一个goroutine应该能够向所有其它goroutine发送取消信号。上下文包的唯一目的是在goroutine之间执行取消信号,而不管它们如何生成。上下文的接口定义为:ty...

Golang 2021-04-03 57 0 0 阅读全文

基于HLS创建Golang视频流服务器的优缺点

HLS是HTTPLiveStreaming的缩写,是苹果开发的一种基于HTTP的自适应比特率流媒体传输协议,并于2009年.HLS流媒体已经成为应用最广泛的实时视频协议。它是一种将流分解成基于文件小段的格式,可以通过HTTP下载,HLS可以通过标准的HTTP或代理服务器等,这和基于UDP的协议(例如...

Golang 2021-08-09 50 0 0 阅读全文

Go语言实现猜数字小游戏

利用Go语言实现一个四位数字,而且不重复的猜数字游戏,解题思路是先利用rand随机函数产生一个四位数,然后通过切片进行引用传递,设定用户可以输入的数字,最后分别遍历切片四位数字与产生的四位数是否相同packagemainimport"fmt"import("math/r...

Golang 2021-04-24 47 0 0 阅读全文

利用Go-Zero在Go中快速实现JWT认证的步骤详解

关于JWT是什么,大家可以看看官网,一句话介绍下:是可以实现服务器无状态的鉴权认证方案,也是目前最流行的跨域认证解决方案。要实现JWT认证,我们需要分成如下两个步骤客户端获取JWTtoken。服务器对客户端带来的JWTtoken认证。1.客户端获取JWTToken我们定义一个协议供客户端调用获取JW...

Golang 2021-04-24 58 0 0 阅读全文

Go基于Viper实现配置文件热更新及其源码分析

go第三方库github.com/spf13/viper实现了对配置文件的读取并注入到结构中,好用方便。其中以viperInstance:=viper.New()//viper实例viperInstance.WatchConfig()viperInstance.OnConfigChange(func...

Golang 2021-06-29 55 0 0 阅读全文

使用Golang的交叉编译生成Windows可执行文件

go语言开发的一个让人激动的特性就是可以跨平台。同样的代码,无需修改,只要重新编译一下就可以在另一个平台下运行,而你只需要在编译的时候指定一下目标平台系统就可以了。最常见的就是windows下开发完的应用需要跑在linux上了。拿一个已经开发完成的web程序来实践,在windows上编译出redha...

Golang 2021-04-22 121 0 0 阅读全文

关于Golang变量初始化/类型推断/短声明的问题

视频:https://www.bilibili.com/video/BV1Zh411k7iB声明变量同时初始化上节我们了解了三种变量声明的语法,并且知道未初始化的变量初始值都是其类型的零值其实只需要在声明时赋予初始值,即可进行初始化下面针对三种变量声明语法进行初始化:[1]varnametype[2...

Golang 2021-03-28 53 0 0 阅读全文

Go-Kit组件使用Hystrix中间件的操作

使用go-kit中间件时,一般在endpoint中进行中间件的开发。在endpoint层插入hystrix中间件的插入。endpoint.gofuncMakeEndpoint(svcservices.StringService)endpoint.Endpoint{returnfunc(ctxcont...

Golang 2021-04-27 183 0 0 阅读全文

Golang Gin框架获取参数的操作

1.获取URL参数GET请求参数通过URL传递URL参数可以通过DefaultQuery()或Query()方法获取DefaultQuery()若参数不存在,返回默认值,Query()若参数不存在,返回空串user_id:=com.StrTo(ctx.Query("user_id"...

Golang 2021-04-07 77 0 0 阅读全文

利用Go-Kit组件进行服务注册与发现和健康检查的操作

在go的微服务架构中使用go-kit组件进行开发微服务typeRegstruct{HoststringPortintClientconsul.Client}funcMakeReg(hoststring,portint)(*Reg,error){reg:=api.DefaultConfig()reg....

Golang 2021-04-27 290 0 0 阅读全文

Golang Int 转Float 强转和高精度转操作

golangint转float方法一:强转:代码如下:import"fmt"funcmain(){varmoneyintmoney=1fmt.Println(float64(money)/float64(100))}输出结果:0.01方法二:高精度转:代码如下:import(&q...

Golang 2021-04-07 60 0 0 阅读全文

Go语言Reflect.TypeOf()和Reflect.Type通过反射获取类型信息

在Go语言中通过调用reflect.TypeOf函数,我们可以从一个任何非接口类型的值创建一个reflect.Type值。reflect.Type值表示着此非接口值的类型。通过此值,我们可以得到很多此非接口类型的信息。当然,我们也可以将一个接口值传递给一个reflect.TypeOf函数调用,但是此...

Golang 2021-04-15 61 0 0 阅读全文

Goland 恢复已更改文件的操作

1、查看历史更改文件点击项目名,右键,选择LocalHistory。或点击项目名再点击VXA,选择LocalHistory。然后选择ShowHistory2、恢复历史已更改文件选择你想要恢复的文件,右键选择Revert,最后就会恢复到原来的位置了。补充:goland文件处理golang是优秀的软件编...

Golang 2021-04-29 59 0 0 阅读全文

Golang的Select多路复用及Channel使用操作

看到有个例子实现了一个类似于核弹发射装置,在发射之前还是需要随时能输入终止发射。这里就可以用到cahnnel配合select实现多路复用。select的写法用法有点像switch。但是和switch不同的是,select的一个case代表一个通信操作(在某个channel上进行发送或者接收)并且会包...

Golang 2021-04-07 53 0 0 阅读全文

Goland 断点调试Debug的操作

第一步:进入编辑模式第二步:开始进行编辑第三步:就可以进行调式了补充:goland断点调试报错一、运行报错runnerw.exe:CreateProcessfailedwitherror216\(nomessageavailable\)解决办法:查看package是不是main,同时必须有个main...

Golang 2021-04-27 79 0 0 阅读全文

Golang定时器和超时的使用详解

我就废话不多说了,大家还是直接看代码吧~funcmain(){varachanstringa=make(chanstring)gosendDataTo(a)gotiming()getAchan(10*time.Second,a)}funcsendDataTo(achanstring){for{a

Golang 2021-04-07 89 0 0 阅读全文