
GO技术博客
文章平均质量分 53
主要是介绍我从零开始学习GO语言的一些学习心得和学到的东西
对方感受到
走自己喜欢的路,让别人说去
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
go pprof项目中实践
最近由于项目中接口调用有挺多延迟的,因此就借此机会学习下go的pprof分析下项目性能。 我们的go程序不是http服务,是使用tars框架开发的rpc服务。根据官方介绍,非http服务可以使用runtime/pprof包来记录性能profile。开始时候没搞懂跟 /net/http/pprof有啥区别。那就先尝试使用 runtime/pprof先,然后需要在main函数中添加如下代码 f, err := os.Create("cpu_profile.pprof") ...原创 2021-01-19 00:04:57 · 298 阅读 · 0 评论 -
go once仅且执行一次
最近看到用csdn友发了一篇关于go的sync.Once的分析,自己看了两遍才弄明白其设计。废话少说咱走起!!! 暂且不说项目需要用到的场景,我们就纯粹学习下人家是怎么设计的。 func main(){ myOnce := sync.Once{} myOnce.Do(doSomething) } func doSomething(){ fmt.Println("im doing things") } 直接进入Do方法,看看他是如何保证多线程且生命周期内仅执行一次的。 type.原创 2021-01-13 23:30:50 · 1439 阅读 · 0 评论 -
go 判断类是否实现了指定接口
在go 语言编程中,有时候我们想知道某个结构体(即有些人称之为类)是否实现了某个接口类型,那么如何去做呢,根据我查找的资料得知处理如下: type IFace iterface { Eat() string } type Bird struct { Eyes string Color int } 要判断Bird 是否实现了接口 IFace 直接 v...原创 2019-07-30 23:13:13 · 2921 阅读 · 0 评论 -
mindoc源码编译和部署
主要讲下编译过程和遇到问题 因为mindoc 是使用go 开发的,所以要知道go中的包的管理模式,官网介绍是使用dep管理的,但是因为可以下载到源码,因此我选择使用mod 方式来处理依赖包关系,当然你也可以直接使用go get 这个是最直接的方式吧。 首先下载源码 :https://github.com/lifei6671/mindoc 然后把源码放到随便一个目录下,因为在go mod 方式...原创 2019-08-17 19:59:09 · 1160 阅读 · 0 评论 -
go引用类型的坑
其实说实话,go就没有引用类型,都是值的拷贝,不信?你跑下下面代码 package main import ( "fmt" ) type Student struct { Name string Age int Gender int NickName string } func modifySlice(stuSli []Student) (err erro...原创 2019-09-30 14:25:23 · 208 阅读 · 1 评论