Go
听风看海dqm
nothing said, the code!
展开
-
golang 整型前置补0/后置制定位数置0
golang 整型前置补0/后置制定位数置0前言一、前置补0二、后置指定位数置0想一起讨论/学习微信小游戏开发的,GO语言开发的,请微信搜索/扫码下方小程序加博主微信群前言golang属于强类型语言,数据类型明确,下面展示如何进行整型前置补0,后置指定位数置0。一、前置补0package mainimport ( "fmt")func main() { a := 12345 fmt.Println(a) // 输出 12345 //前置补0 fmt.Pri原创 2020-12-07 19:34:25 · 6153 阅读 · 1 评论 -
go gc原理
关于 Golang GC 和内存管理相关的流程和原理的一些总结。GC 流程golang GC 采用基于标记-清除的三色标记法,下图为 golang 一轮完整的 GC 的过程:一轮完整的 GC,总是从 Off,如果不是 Off 状态,则代表上一轮GC还未完成,如果这时修改指针的值,是直接修改的。Stack scan: 收集根对象(全局变量和 goroutine 栈上的变量),该阶段会开启写屏障(Write Barrier)。Mark: 标记对象,直到标记完所有根对象和根对象可达对象。此时写屏障会记录转载 2020-12-06 10:11:08 · 2540 阅读 · 0 评论 -
golang grpc all SubConns are in TransientFailure error
grpc错误当建立grpc连接或者调用方法出现以下错误:rpc error: code = Unavailable des = all SubConns are in TransientFailur解决连接端口出现错误连接后服务端挂掉,客户端收不到返回或心跳...原创 2020-01-15 15:11:21 · 2274 阅读 · 0 评论 -
golang xrom unknown driver “mysql“ error
xorm error错误内容如下:sql:unknown driver "mysql" (forgotten import?)解决需要导入“github.com/go-sql-driver/mysql”驱动package mainimport( _"github.com/go-sql-driver/mysql" "github.com/go-xorm/core" "githu...原创 2020-01-15 10:35:24 · 676 阅读 · 0 评论 -
2018最新精选的Go框架,库和软件精选
github:https://github.com/XzavierLuo/awesome-go中文翻译地址:https://www.jianshu.com/p/b508144cf937原创 2019-05-28 15:16:13 · 142 阅读 · 0 评论 -
golang中strings包用法
本文转自Golove博客:http://www.cnblogs.com/golove/p/3236300.htmlstrings 包中的函数和方法// strings.go// Count 计算字符串 sep 在 s 中的非重叠个数// 如果 sep 为空字符串,则返回 s 中的字符(非字节)个数 + 1// 使用 Rabin-Karp 算法实现func Count(s, sep s...原创 2019-05-28 15:03:58 · 3855 阅读 · 1 评论 -
go交叉编译
场景window,linux为例, 在windows系统中执行go build,产生不同的结果这里用到了两个变量:GOOS:目标操作系统GOARCH:目标操作系统的架构windows编译64位编译指令:GOOS=windows GOARCH=amd64 go build32位编译指令:GOOS=windows GOARCH=386 go buildlinux编译386编译...原创 2019-05-15 17:17:24 · 517 阅读 · 0 评论 -
go单元测试及代码覆盖率
描述Go语言官方则提供了语言级的单元测试支持,即testing包,而且仅通过go工具本身就可以方便地生成覆盖率数据,也就是说,单元测试是Go语言的自带属性,除了好好设计自己的单元测试用例外,开发者不需要操心工程搭建的任何细节。逻辑代码创建一个sum.go文件, 编写一下函数代码// 求和func Sum(a, b int) int{ return a + b}单元测试进行代码...原创 2019-05-07 11:35:05 · 6065 阅读 · 0 评论 -
go语言求时间的差值(按天数算)
问题开发时经常遇到求时间的差值,比如2019/05/05和2019/04/27日的差值是多少,相差多少天?time包func DiffTime(start, end string) int64{ timeLayout := "2016/01/02" loc, _ := time.LoadLocation("Local") // 转成时间戳 startUnix := time.Par...原创 2019-04-29 15:14:59 · 10144 阅读 · 4 评论 -
Go定时任务-定时器
描述当需要每天执行定时任务的时候就需要定时器来处理了,周期任务,倒计时任务,定点任务等。。。周期任务5秒钟后执行一个任务ticker.C是一个缓冲为1的channel,ticker:=time.NewTicker(time.Second*5) go func() { for _=range ticker.C { println("test")...原创 2019-04-19 09:54:43 · 4130 阅读 · 0 评论 -
go字符串转时间戳
介绍本文讲解golang字符串转时间戳,和时间戳转字符串的用法//获取本地locationtoBeCharge := “2015-01-01 00:00:00” //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写timeLayout := “2006-01-02 15:04:05...转载 2019-04-26 15:15:33 · 7416 阅读 · 0 评论 -
GO二进制字符串转十进制数原生算法
问题拿到一个二进制字符串如何快速高效的转化为十进制数呢?如“111”如何转成十进制的7?go语言自带包strconv这个包呢也有其转换方式,太多的博客啊写的都是这个包,但是他的耗时太长了,并且性能并不行,比如一个包需要调用几百万几千万此这个包就吃力了原生算法代码一func Str2DEC(s string) (num int) { l := len(s) for i := l - ...原创 2019-04-12 19:12:37 · 8163 阅读 · 0 评论 -
GO字符串转十进制整型原生算法
问题如何把“123”转化为一个十进制的int整型?go语言自身提供了strconv包,但是性能太低,耗时太长,因此手动写一个算法提升性能。期望输出input:“123”output:123思路遍历数组用&运算算出结果把每次的运算结果累加代码//Str2Int 数字必须是十进制数 0-9func Str2Int(s string) int { var num int...原创 2019-04-12 18:37:23 · 3273 阅读 · 0 评论 -
gin中间件把端口转换为https协议
gin中间件把端口转换为https协议协议介绍HTTP:HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTPS:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer...原创 2019-04-10 11:17:37 · 6673 阅读 · 7 评论