Tag: Golang

1 题目描述 在一个R行C列的二维网格上,我们起始在(r0, c0)位置,且面朝东。 这样,矩阵的西北角在第一行第一列,东南角在最后一行最后一列。 现在,我们以顺时针螺旋形状来访问网格的每个位置。 当走到网格边界之外时,则继续在边界之外走(可能稍后会回到网格的边界)。 最终,我们访问了全部R * C个空间。 返回一个代 阅读全文

delve是一款专门针对Golang程序调试而开发的命令行调试器,该工具功能强大,简单易用。 本文从安装开始,使用一个实际的Golang程序调试例子,学习一下delve的主要调试方式及常用调试命令。 本文所使用的是Windows环境。 1 安装 使用go get命令安装构建delve。 $ go get -u gith 阅读全文

在前两篇文章(Golang 模块获取包modfetch研读,Golang模块代理goproxy.io源码研读),我们学习了Golang Module Proxy的工作原理以及实现原理。 本文尝试独立实现一个Golang Module Proxy服务。 实现逻辑主要涉及这几块内容: a)main.go 负责服务启动,服务 阅读全文

goproxy.io是一款很好用的Golang Module Proxy,解决了国内用户无法直接下载Golang模块依赖的问题。 本文准备研读一下其开源代码github.com/goproxyio/goproxy,了解下其实现原理。 goproxy工程的主要目录结构如下: goproxy ├ build │ └ gen 阅读全文

自Go 1.11引入Modules以来,其内置命令已集成包查询、下载等功能。 之前专门写过一篇Golang Modules的文章,介绍了Module的使用方式。 如一个Module工程,使用命令构建时会自动获取依赖,如: $ go build go: finding github.com/olzhy/quote lat 阅读全文

采用常规方式启动一个Golang http服务时,若服务被意外终止或中断,即未等待服务对现有请求连接处理并正常返回且亦未对服务停止前作一些必要的处理工作,这样即会造成服务硬终止。这种方式不是很优雅。 参看如下代码,该http服务请求路径为根路径,请求该路径,其会在2s后返回hello。 var addr = flag. 阅读全文

1 2 3 4 12