golang

Go

如何编写Go中间件

139 0

如何编写Go中间件 开发组 360云计算 女主宣言 大家有没有写过中间件呢,它是怎么写的呢?今天给大家分享一下使用Go,如何编写中间件,供大家参考学习。PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦! 引言 一开始,我们认为编写中间件似乎很容易,但是我们实际编写的时候也会遇到各种各样的坑。让我们来看看一些例子。 1 读取请求 在我们的示例中,所有的中间件都将接受http。处理程序作为一个参数,并返回一个http.Handler。这使得人们很容易就能把中间产品串起来。我

Go

手撸golang GO与微服务 聚合模式之2

32 0

手撸golang GO与微服务 聚合模式之2缘起最近阅读 [Go微服务实战] (刘金亮, 2021.1)本系列笔记拟采用golang练习之聚合模式DDD中有两个非常重要的模式:聚合(Aggregate)和聚合根(AggregateRoot)。 聚合是对概念上属于同一实体(entity)或值对象(value object)的封装。 而聚合根的含义是指,任何对该聚合的访问都仅到达聚合根。比如Car就是聚合根,虽然Car有轮胎、车灯, 但是显然外部访问都只需要访问Car,聚合根确保了聚合的完整性。聚合的规则 1

Go

Golang笔记之基本数据类型

65 0

1、布尔类型布尔类型用于表示真假,类型名为bool,只有两个值true和false,占用一个字节宽度,零值为false var flag bool = true flag1 := false fmt.Println(flag,flag1)常用操作逻辑运算: 与(&&) 只有左、右表达式结果都为true,运算结果为truefmt.Println(flag&&true,flag1

Go

Golang 高效的原地数组去重

158 0

非排序数组使用 struct{} 节省空间, 指定 cap=len(arr) 避免 map 扩容。记录非重复元素索引 j,将元素前移,原地去重,只需一次遍历。时间复杂度:O(n)空间复杂度:O(n)func removeDuplication_map(arr []string) []string {set := make(map[string]struct{}, len(arr))j := 0for _, v := range arr {_, ok := set[v]if ok {continue}set

Go

在VSCode中使用 Gopls

342 0

title: "在VSCode中使用 Gopls" date: 2021-03-07T08:40:05+08:00 draft: true tags: ['go','vscode'] author: "dadigang" author_cn: "大地缸" personal: "http://www.real007.cn"关于作者 http://www.real007.cn/about 在 VS Code 中使用 gopls [图片上传失败...(image-52f236-1616196466078)] 帅

Go

Golang Embed资源并释放resource

98 0

title: "Golang Embed资源并释放resource" date: 2021-03-07T15:42:58+08:00 draft: true tags: ['go'] author: "dadigang" author_cn: "大地缸" personal: "http://www.real007.cn"关于作者 http://www.real007.cn/about package mainimport ("embed""fmt""io""os" )//go:embed dict.txt

Go

Golang笔记之基本组成元素

51 0

一、基本组成元素1.1、标识符标识符是编程时所使用的名字,用于给变量、常量、函数、类型、接口、包名等进行命名,以建立名称和使用之间的联系。标识符命名规则:只能由非空字母(Unicode)、数字、下划线(_)组成只能以字母或下划线开头不能使用Go语言关键字避免使用Go语言预定义标识符标识符区别大小写建议使用驼峰式 Go语言提供一些预先定义的标识符用来表示内置的常量、类型、函数。在自定义标识符时应避免使用:1. 内置常量:true、false、nil、iota2. 内置类型:bool、byte、rune、in

Go

手撸golang GO与微服务 聚合模式之1

86 0

手撸golang GO与微服务 聚合模式缘起最近阅读 [Go微服务实战] (刘金亮, 2021.1)本系列笔记拟采用golang练习之聚合模式DDD中有两个非常重要的模式:聚合(Aggregate)和聚合根(AggregateRoot)。 聚合是对概念上属于同一实体(entity)或值对象(value object)的封装。 而聚合根的含义是指,任何对该聚合的访问都仅到达聚合根。比如Car就是聚合根,虽然Car有轮胎、车灯, 但是显然外部访问都只需要访问Car,聚合根确保了聚合的完整性。聚合的规则 1.