
go语言
Amars_丁
这个作者很懒,什么都没留下…
展开
-
使用Go实现GoF的23种设计模式(一)
使用Go实现GoF的23种设计模式(一)前言从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。在当下,如果你不会一点设计模式,都不好意思说自己是一个合格的程序员。设计模式通常被定义为:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是原创 2020-08-11 09:41:49 · 678 阅读 · 0 评论 -
实战Go内存泄露
实战Go内存泄露golangmemory内存泄露pprof最近解决了我们项目中的一个内存泄露问题,事实再次证明pprof是一个好工具,但掌握好工具的正确用法,才能发挥好工具的威力,不然就算你手里有屠龙刀,也成不了天下第一,本文就是带你用pprof定位内存泄露问题。关于Go的内存泄露有这么一句话不知道你听过没有:10次内存泄露,有9次是goroutine泄露。我所解决的问题,...原创 2020-04-30 16:52:50 · 1440 阅读 · 1 评论 -
golang 注释规范
注释的意义注释可以帮我们很好的完成文档的工作,写得好的注释可以方便我们以后的维护。 /**/ 的块注释和 // 的单行注释两种注释风格, 在我们的项目中为了风格的统一,全部使用单行注释,注释的质量决定了生成的文档的质量。 下面从包注释、结构体(接口)注释、函数(方法)注释、代码逻辑注释以及注释规范方面进行说明。包注释每个包都应该有一个包注释,一个位于package子句之前行注...原创 2020-03-09 14:27:41 · 4009 阅读 · 0 评论 -
vscode golang 配置详解
go install github.com/nsf/gocode最新使用:go install github.com/mdempsky/gocodego install github.com/rogpeppe/godefgo install github.com/zmb3/gogetdocgo install github.com/golang/lint/golintgo instal...原创 2019-11-26 13:54:46 · 827 阅读 · 0 评论 -
GO环境变量详解
Golang环境变量设置详解无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序,在安装好Go安装语言开发工具之后,都必须配置好Go语言开发所要求的 环境变量,才算初步完成Go开发环境的搭建。但对于一些初学者来说,可能不太明白Go语言中常用的环境变量(Environment variables)的作用以及如何设置环境变量,今天我们来讲讲。注意:Go提供...原创 2019-11-26 13:33:30 · 3055 阅读 · 0 评论 -
VS Code go - tools 安装
go tools1. 手动创建目录$GOPATH/src/golang.org/x/tools2. 手动下载 go toolsgit clone https://github.com/golang/tools.git ./golang tools3. 安装 go toolsgo install golang.org/x/tools/cmd/gurugo instal...原创 2019-11-25 10:05:30 · 2685 阅读 · 0 评论 -
golang学习——第一章 Go基础
1、package 别名的定义示例一import io “fmt” func main(){ io.Println("hello world");}示例二import ( io "fmt”)func main(){ io.Println("hello world");}2、package省略调用import . “fmt” 示例二im...原创 2018-07-19 11:11:30 · 346 阅读 · 0 评论 -
golang学习——第二章Go基础之控制语句
1、常量的初始化规则2、枚举 iota的用法在常量组中定义iota后,从0开始,每定义一个常量iota会自动加一,直到const重置为0常量的代码规则,最好全部大写。大写时有public性质,当想只在包内使用时可以在常量定义前面加c3、运算符是从左到右4、语句中可以先初始化,再条件,此时初始化的值只在条件语句中有效,在条件语句外会未定义, 当条件语句中的变量名称和条件语句上面定义的...原创 2018-07-20 10:04:49 · 347 阅读 · 0 评论 -
Golang号称高并发,但高并发时性能不高解决办法
1.管道chan吞吐极限10,000,000,单次Put,Get耗时大约100ns/op,无论是采用单Go程,还是多Go程并发(并发数:100, 10000, 100000),耗时均没有变化,Go内核这对chan进行优化。解决之道:在系统设计时,避免使用管道chan传递主业务数据,避免将业务流程处理流程分割到对个Go程中执行,这样做减少chan传输耗时,和Go程调度耗时,性能会有很大的提升...转载 2019-03-08 09:25:03 · 7638 阅读 · 1 评论