
golang
kunyus
这个作者很懒,什么都没留下…
展开
-
一图看尽 Go 1.16 变更
工具链 go mod GO11MODULE 环境变量从默认 auto 改成了 on mod 功能从1.11以来终于彻底成熟了 //go:embed 通过 //go:embed 注解的方式内嵌文件 go-bindata 的活被干了 通过在变量上方添加注解来实现内嵌文件 一个文件 //go:embed hello.txt 支持变量类型 string []b.原创 2021-03-06 13:23:35 · 368 阅读 · 0 评论 -
一种简单的 Golang 项目目录结构划分
简介当时在公司内部做分享画的PPT,介绍之前公司使用的项目目录结构划分。目录结构应用接口层业务模型层数据模型层项目规划示例原创 2020-08-18 10:01:35 · 2798 阅读 · 0 评论 -
Golang 根据 interface 接口定义直接生成空白实现代码和注释,避免大量的复制粘贴
说明implgen 用于通过 interface 定义生成 Go 接口空白实现代码的工具。用于减少开发人员工作量,将机械式的复制粘贴代码交由工具来实现,提升工作效率。安装说明1. 通过源码安装执行命令通过源码安装:go get github.com/ssoor/implgen执行命令检查输出来验证安装结果:implgen --help2. 使用 gex 安装gex 是用来管理项目工具类依赖项的工具。通过使用 gex 可以清晰的说明代码都依赖于哪些工具,并在使用时自动拉取和原创 2020-06-28 12:14:19 · 2234 阅读 · 0 评论 -
Golang 常见面试考点汇总及原理解析(2) - map, slice 考点
Slice 切片slice 的考点一般围绕着 len,cap,append 进行考察,我这里整理了一道面试题,基本覆盖了 slice 中的大多数考点。题目:下面这段代码的输出结果是什么?package mainimport "fmt"func sliceAppend(slice []int,v int) []int { return append(slice, v)}func ...原创 2020-04-19 11:58:35 · 1680 阅读 · 1 评论 -
Golang 常见面试考点汇总及原理解析(1) - defer 机制考点
defer 机制defer 机制一般有两个考点,第一个是多defer的执行顺序,第二个就是defer func(){...}() 和 defer func(a) {...}(a) 的区别。1.1 执行顺序题目:下面这段代码的输出结果是什么?package mainimport "fmt"func out(str string) { fmt.Println(str)...原创 2020-04-19 10:32:22 · 390 阅读 · 0 评论 -
Golang 应用集成 Prometheus 统计数据支持
基本概念Prometheus 所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的、有时间戳标记的数据流。除了存储的时间序列,Prometheus 还可以根据查询请求产生临时的、衍生的时间序列作为返回结果。样本在时间序列中的每一个点称为一个样本(sample),样本由以下三部分组成:指标(metric):指标名称和描述当...原创 2019-09-25 12:34:55 · 4926 阅读 · 0 评论 -
软件版本定义语义说明(中文翻译) - 版本2.0.0
摘要给定版本号MAJOR.MINOR.PATCH,增加:当您进行不兼容的API更改时的主要版本,MINOR版本,当您以向后兼容的方式添加功能时,以及向后兼容的bug修复程序时的PATCH版本。可以使用预发布和构建元数据的其他标签作为MAJOR.MINOR.PATCH格式的扩展名。介绍在软件管理的世界里,有一个可怕的地方,叫做“依赖地狱”。系统越大,集成到软件中的软件包越多,有一天...原创 2019-09-25 12:19:07 · 1043 阅读 · 0 评论 -
Go 编译时去除 bin 文件中的编译路径 GOPATH 信息
问题原因当 golang 程序 panic,或者通过 runtime.Caller(0) 获取当前出错的文件位置作为日志记录时,会暴露程序编译机器上的项目路径、以及账户,不如下面这些信息, 这些信息我们并不想让对方看到。panic: oh! no!goroutine 1 [running]:main.main() /Users/jerry/go/src/demo/pani...原创 2019-06-24 10:42:31 · 5174 阅读 · 0 评论 -
vscode golang 语言支持需要安装的所有包
带 https_proxy 前缀的都是需要翻墙的https_proxy=127.0.0.1:1080 go get -v github.com/mdempsky/gocodego get -v github.com/uudashr/gopkgs/cmd/gopkgshttps_proxy=127.0.0.1:1080 go get -v github.com/ramya-rao-a/go-o...原创 2019-01-26 07:15:23 · 446 阅读 · 0 评论 -
Golang 微服务框架 - 1. Micro 介绍
Micro 介绍Micro 是一个工具集合, 通过将微服务架构抽象成一组工具。隐藏了分布式系统的复杂性,为开发人员提供了更简洁的概念。组成Micro 主要有三部分组成:go-micro - 开发 sdk, 包含了 RPC 框架,服务发现, 消息订阅/ 发布 等功能.go-plugins - Micro 的插件micro - 一个官方管理工具, 提供 网关, 命令行, 代理和界...原创 2018-06-17 11:14:00 · 36409 阅读 · 0 评论 -
Golang 微服务框架 - 2. Micro 安装 & 运行示例
依赖关系通常 micro 会依赖两个项目consul - 服务发现protoc-gen-micro - 代码生成consul 安装:source: go get -u -v github.com/hashicorp/consul consul agent -devdocker: docker run consulprotoc-gen-mic...原创 2018-06-17 12:49:00 · 7267 阅读 · 0 评论 -
Golang 微服务框架 - 3. Micro 生成并编译运行第一个 srv 服务
通过 micro 创建项目:micro new --type "srv" \ --namespace "com.test" \ --alias "first_srv"原创 2018-06-17 13:22:43 · 2473 阅读 · 0 评论