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