随笔分类 -  go

上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页

Go语言基础之Gin框架的热启动
摘要:我是很喜欢beego框架bee工具的热启动效果,感觉爽到不能呼吸。但是用gin框架去开发的时候,就发现难受的很~~ 所以,经过我在网上这顿搜,发现了一个好玩意儿,Air Air是啥玩意儿啊? 这是一个能够检测项目代码变化的插件,支持热启动,我一看,擦,想啥来啥! Air的安装 go go get - 阅读全文

posted @ 2021-04-06 15:58 ExplorerMan 阅读(633) 评论(0) 推荐(0) 编辑

go中gin框架+realize实现边写代码边编译,热更新,方便边改边看效果
摘要:最近看到了热加载,相关的,就搜索了goland实现热加载 发现了一个插件realize https://github.com/oxequa/realize 然后,为了自己撸代码更方便,配合gin写个教程 1.准备 go get github.com/oxequa/realizego get gith 阅读全文

posted @ 2021-04-06 15:57 ExplorerMan 阅读(412) 评论(0) 推荐(0) 编辑

golang BFS DFS
摘要:突然想起一个面试题,用go实现不太好写,明天在想有什么好的方法实现图,暂时就想到这么实现,具体分析看代码注释 package main import "fmt" type list struct { data string next []*list //代表每个节点能够访问的节点,比如v0的next 阅读全文

posted @ 2021-04-06 14:40 ExplorerMan 阅读(238) 评论(0) 推荐(0) 编辑

Python调用golang
摘要:有些时候因为效率问题部分代码会 使用Python调用go的编译生成动态链接库go 代码示例//add.gopackage main import "C" //export Addfunc Add(a, b int) int { return a + b} //export Addstrfunc Ad 阅读全文

posted @ 2021-04-02 11:50 ExplorerMan 阅读(640) 评论(0) 推荐(0) 编辑

Go语言中new()和 make()的区别详解
摘要:概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。 new 的主要特性 首先 new 是内建函数,你可以从 http://golang.org/pkg/builtin/#new 这儿看到它,它的定义也很简单: 复制代码代码如下: 阅读全文

posted @ 2021-04-01 19:02 ExplorerMan 阅读(502) 评论(0) 推荐(0) 编辑

go 链表操作
摘要:链表操作是数据结构中基本的操作,下面用golang实现一下链表的基本操作,包括增、删、查以及单链表的反转操作。 package link import ( "fmt" "github.com/pkg/errors" ) //链表结构 type ListNode struct { data int n 阅读全文

posted @ 2021-04-01 17:54 ExplorerMan 阅读(328) 评论(0) 推荐(0) 编辑

golang中,map作为函数参数是如何传递的
摘要:当你声明一个map的时候: m := make(map[int]int) 编译器会调用 runtime.makemap: // makemap implements a Go map creation make(map[k]v, hint) // If the compiler has determ 阅读全文

posted @ 2021-04-01 11:15 ExplorerMan 阅读(428) 评论(0) 推荐(0) 编辑

Go语言中slice作为参数传递时遇到的一些“坑”
摘要:前言 相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了更深一点的“小坑”,与大家分享一下。 首先还是从最简单的说起,看下面代码: 1 2 3 4 5 6 7 8 9 10 func main() { a := [ 阅读全文

posted @ 2021-03-31 23:39 ExplorerMan 阅读(509) 评论(0) 推荐(0) 编辑

使用fresh类库实现Go gin热重启
摘要:最近在学习Golang,每次修改代码之后都需要重新build,Go目前没有内置代码热更新的工具,找了一下找到了第三方类库fresh,在开发的时候使用起来炒鸡方便的。 安装 go get github.com/pilu/fresh 使用 进入项目根目录 cd $GOPATH/src/fresh_tes 阅读全文

posted @ 2021-03-31 16:00 ExplorerMan 阅读(1435) 评论(0) 推荐(0) 编辑

golang pprof 使用
摘要:一、概述 go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,前者用于普通代码的性能分析,后者用于web服务器的性能分析。 官方文档: https://golan 阅读全文

posted @ 2021-03-31 15:59 ExplorerMan 阅读(778) 评论(0) 推荐(0) 编辑

golang 切片copy复制和等号复制的区别
摘要:结论:copy复制会比等号复制慢。但是copy复制为值复制,改变原切片的值不会影响新切片。而等号复制为指针复制,改变原切片或新切片都会对另一个产生影响。 测试复制速度: func TestArr1(t *testing.T) { var a []int for i := 0; i < 1000000 阅读全文

posted @ 2021-03-15 14:54 ExplorerMan 阅读(225) 评论(0) 推荐(0) 编辑

atomic.Value代替sync.RWMutex
摘要:记一次性能优化,读公司项目代码时候,发现好些使用sync.RWMutext的使用场景:项目启动时候对高频数据缓存到内存缓存中,同时每隔一段时间重新写一下这个缓存(用一个全局变量): type cosCred struct { Cred []int64 sync.RWMutex } var CosCr 阅读全文

posted @ 2021-03-15 12:04 ExplorerMan 阅读(121) 评论(0) 推荐(0) 编辑

【Go】原子操作atomic.Value的使用
摘要:概述Go的sync/atomic包提供了原子操作,支持的数据类型包括: int32, int64, uint32, uint64, uintptr, unsafe.Pointer1若需要扩大原子操作的适用范围,可以使用atomic包中的Value。利用它可以实现对任意值进行原子得存储与加载。 使用注 阅读全文

posted @ 2021-03-15 11:52 ExplorerMan 阅读(1200) 评论(0) 推荐(0) 编辑

Go 语言标准库中 atomic.Value 的前世今生
摘要:在 Go 语言标准库中,sync/atomic包将底层硬件提供的原子操作封装成了 Go 的函数。但这些操作只支持几种基本数据类型,因此为了扩大原子操作的适用范围,Go 语言在 1.4 版本的时候向sync/atomic包中添加了一个新的类型Value。此类型的值相当于一个容器,可以被用来“原子地"存 阅读全文

posted @ 2021-03-15 11:46 ExplorerMan 阅读(137) 评论(0) 推荐(0) 编辑

如何作废一个已发布的Go module版本,我来告诉你!
摘要:Go语言自诞生以来,一路走到今天已经经历了11个年头了。其包依赖管理机制也从无到有,从vendor演化成了如今的Go module。Go module从Go 1.11进入gopher们视野,到目前的Go 1.15,其改进和优化一直在持续。在即将到来的Go 1.16中,Go module将成为默认包依 阅读全文

posted @ 2021-03-02 17:10 ExplorerMan 阅读(135) 评论(0) 推荐(0) 编辑

go语言web开发系列之二十四:用imagemagick为上传图片生成缩略图
摘要:一,安装所需的外部程序 1,用apt-get安装ImageMagick root@ku:/data/liuhongdi/digv23# apt-get install imagemagick 2,查看安装是否成功: root@ku:/data/liuhongdi/digv23# convert -- 阅读全文

posted @ 2021-01-22 16:14 ExplorerMan 阅读(361) 评论(0) 推荐(0) 编辑

go语言web开发系列之二十一:用go-qrcode库生成二维码
摘要:一,安装用到的库 1,go-qrcode库的地址 https://github.com/skip2/go-qrcode 2,安装go-qrcode库 liuhongdi@ku:~$ go get -u github.com/skip2/go-qrcode/... 3,resize库的地址(在二维码中 阅读全文

posted @ 2021-01-22 11:22 ExplorerMan 阅读(867) 评论(0) 推荐(0) 编辑

go语言web开发系列之十八:gin框架用base64Captcha生成图形验证码
摘要:一,安装库 1,库的地址 https://github.com/mojocn/base64Captcha 2,安装: liuhongdi@ku:~$ go get -u github.com/mojocn/base64Captcha 说明:刘宏缔的go森林是一个专注golang的博客, 地址:htt 阅读全文

posted @ 2021-01-22 11:21 ExplorerMan 阅读(693) 评论(0) 推荐(0) 编辑

go语言web开发系列之十七:用go-redis+lua实现顺序自增的唯一id发号器
摘要:一,安装go-redis 1,从命令行执行: liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8 说明:安装命令及版本等信息可以从github站直接得到 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.c 阅读全文

posted @ 2021-01-22 11:20 ExplorerMan 阅读(506) 评论(0) 推荐(0) 编辑

go语言web开发系列之十六:gin框架中通过gorm使用事务
摘要:一,演示项目的相关信息 1,地址: https://github.com/liuhongdi/digv16 2,功能:以下订单为例,演示了在gorm中启用事务 3, 项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin 阅读全文

posted @ 2021-01-22 11:19 ExplorerMan 阅读(956) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页

导航