Golang goland配置proto文件搜索路径 默认情况下,goland(jetbrains家的软件:idea、pycharm、phpstorm以及webstorm都是一样)安装protobuf插件后只会在一个特定的库路径下搜索proto文件。如果... 07月25日2 阅读全文
Golang 国内几个优质的Go Module代理仓库服务 一、简介 go module公共代理仓库,代理并缓存go模块。你可以利用该代理来避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建。 简单来说就是国内访问被墙,go get无法在线获取到仓库,... 10月06日评论 阅读全文
Golang Golang中glog库的使用方法 一、关于glog库 golang中的glog库是google著名开源C++日志库glog的golang版本,在golang默认日志库的基础上做了更进一层的封装使得该库能更贴近日常使用。项目首页为gol... 09月08日评论 阅读全文
Golang 几个golang面试题及解析 一、以下代码的输出内容为 答案 解析 考查defer和panic组合的情况,在有panic时,会先执行defer然后再把恐慌传递出去。 更多相关内容可查看defer常见的坑以及官方文档描述。 二、以下... 04月11日评论 阅读全文
Golang Golang等待组sync.WaitGroup的用法 一、waitgroup介绍 多线程编程中,经常会遇到这样的一种场景:main函数中为了等待其他线程执行完,在return之前都要执行sleep以争取更多的时间给其他线程执行。例如: 主线程为了等待go... 03月01日评论 阅读全文
Golang Golang开发中常见的坑(一):interface相关 0x01 以下代码能通过编译吗 不能通过编译,因为类型man没有实现user接口,实现say方法的是*man类型,两者不能统一。 把func (p *man) say(hello string) 改成... 02月28日评论 阅读全文
Golang Golang 内存逃逸分析 0x01 什么是逃逸 第一次听说逃逸是在雨痕学堂,一脸懵逼的百度了半天也没找到一个明确的说法,直到昨天在论坛上看到一篇关于变量逃逸的文章才明白。 因为函数都是运行在栈上的,在栈声明临时变量分配内存,函... 02月27日评论 阅读全文
Golang Golang使用RemoteAddr()获取远程主机地址的注意事项 一、问题描述 http.Request下的方法RemoteAddr()可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取... 01月18日评论 阅读全文
Golang Go pprof的使用 一、概述 go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,... 01月09日评论 阅读全文
Golang Golang判断文件是否存在及递归创建文件夹 一、判断文件或文件夹是否存在 golang判断文件或者文件夹是否存在可以通过os.stat()方法和os.IsExist()方法来判断: 二、递归创建文件夹 递归文件夹用到os.MkdirAll()方... 12月04日评论 阅读全文