上一页 1 2 3 4 5 6 7 8 9 10 ··· 24 下一页
摘要: 摘要:go结构体方法未使用指针,结构体实例的锁失效 【问题描述】 go结构体方法未使用指针,结构体实例的锁失效 【错误代码片段】 给结构体定义一把锁 在函数中调用锁 实测锁失效,仍存在资源竞争,导致请求失败的情况 【原因分析及推荐写法】 结构体方法中未使用指针,参数传入方式是拷贝一个新实例c,因此, 阅读全文
posted @ 2023-03-11 19:28 易先讯 阅读(27) 评论(0) 推荐(0)
摘要: 来源: blog.csdn.net/csdn_aiyang/article/details/75162134 前言 我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。 首先 阅读全文
posted @ 2023-03-10 14:08 易先讯 阅读(80) 评论(0) 推荐(0)
摘要: 在第一篇文章中提到过,为了让代码可测,需要用依赖注入的方式来构建我们的对象,而通常我们会在main.go做依赖注入,这就导致main.go会越来越臃肿。为了让单元测试得以顺利进行,main.go牺牲了它本应该纤细苗条的身材。太胖的main.go可不是什么好的信号,本篇将介绍依赖注入框架(wire), 阅读全文
posted @ 2023-03-07 10:02 易先讯 阅读(409) 评论(0) 推荐(0)
摘要: 在上一篇,介绍了表格驱动测试方法和gomock测试框架,大大提升了测试效率与质量。本篇将介绍在测试中引入断言(assertion),进一步提升测试效率与质量。 为什么需要断言库 我们先来看看Go标准包中为什么没有断言,官方在FAQ里面回答了这个问题。 golang.org/doc/faq#ass… 阅读全文
posted @ 2023-03-07 10:01 易先讯 阅读(271) 评论(0) 推荐(0)
摘要: 通过阅读上一篇文章,相信你对怎么做单元测试已经有了初步的概念,可以着手对现有的项目进行改造并开展测试了。学会了走路,我们尝试跑起来,本篇主要介绍gomock测试框架,让我们的单元测试更加有效率。 表格驱动测试方法(Table Driven Tests) 当针对某方法进行单元测试的时候,通常不止写一个 阅读全文
posted @ 2023-03-07 10:01 易先讯 阅读(528) 评论(0) 推荐(0)
摘要: 单元测试是代码质量的保证。本系列文章将一步步由浅入深展示如何在Go中做单元测试。 Go对单元测试的支持相当友好,标准包中就支持单元测试,在开始本系阅读之前,需要对标准测试包的基本用法有所了解。 现在,我们从单元测试的基本思想和原理入手,一起来看看如何基于Go提供的标准测试包来进行单元测试。 单元测试 阅读全文
posted @ 2023-03-07 10:00 易先讯 阅读(118) 评论(0) 推荐(0)
摘要: 阅读用时:4分钟 导语 “成熟的工具,要学会自己写代码”。本文介绍了 Go 依赖注入工具 [[Wire]] 及其使用方法,以及在实践中积累的各种运用技巧。当代码达到一定规模后,[[Wire]] 在组件解耦、开发效率、可维护性上都能发挥很大的作用,尤其在大仓场景。 依赖注入 当项目变得越来越大,代码中 阅读全文
posted @ 2023-03-03 18:09 易先讯 阅读(644) 评论(0) 推荐(0)
摘要: 1.go 采用c 的err方法,但是容易产生大量的外部判断。 package killer import "fmt" type Book struct { Name string Price int Store int Member int } func clientExample() { book 阅读全文
posted @ 2023-03-03 16:17 易先讯 阅读(19) 评论(0) 推荐(0)
摘要: 1. Golang里面没有构造函数,但是Golang却可以像C++一样实现类似继承、构造函数一样等面向对象编程的思想和方法 Golang里面要实现相关的构造函数定义可以通过通过new来创建构造函数, 通过new一个对象,或者利用Golang本身的&方式来生成一个对象并返回一个对象指针 package 阅读全文
posted @ 2023-03-03 15:28 易先讯 阅读(23) 评论(0) 推荐(0)
摘要: 花和山水的精神。我们现代人只知道花和山水,是通过反射太阳光进入到我们人的眼睛,我们才能看见这些东西的。我们如果硬去理解花和山水的精神,就会造成很深的理解障碍。 我们普通人只知道我们人有精神,花和山水的精神很让我们费解。 1.精神内敛 南怀瑾老师在南禅七日中说,看花,看山水,要把花和山水的精神收到自己 阅读全文
posted @ 2023-03-02 14:55 易先讯 阅读(926) 评论(0) 推荐(0)
摘要: 在 Go 中,可以使用类型为 map[T]bool 的映射来判断切片中是否包含某个元素。 例如,假设你想要判断整型切片 s 中是否包含元素 x。你可以这样做: // 声明一个名为 m 的映射,其中键的类型为 int,值的类型为 bool。 m := make(map[int]bool) // 将 s 阅读全文
posted @ 2023-03-02 11:19 易先讯 阅读(1880) 评论(0) 推荐(0)
摘要: 一张图了解UML类图全貌 一、从这张图中,我们可以看到些什么? 1、 类图:动物 2、 继承/泛化:动物和鸟的继承关系 3、 实现:大雁实现了飞翔的接口 4、 依赖:动物依赖氧气和水 5、 关联:企鹅需要知道气候才迁移 6、 聚合:雁群和大雁之间的关系 7、 组合:鸟和翅膀的关系 8、 接口:唐老鸭 阅读全文
posted @ 2023-03-01 15:41 易先讯 阅读(153) 评论(0) 推荐(0)
摘要: 本文译自:How To Close Channels in Golang Elegantly。几天前,我写了一篇文章来说明golang中channel的使用规范。在reddit和HN,那篇文章收到了很多赞同,但是我也收到了下面几个关于Go channel设计和规范的批评: 在不能更改channel状 阅读全文
posted @ 2023-02-27 14:32 易先讯 阅读(149) 评论(0) 推荐(0)
摘要: merge 'xxxx' into 'xxxx' xxxxxxxx Created-by: xxx xxxx Author-id: xxx MR-id: xxx Commit-by: xxx Merged-by: xxxx E2E-issues: xxxxxxx Description: 上库自检 阅读全文
posted @ 2023-02-25 18:22 易先讯 阅读(28) 评论(0) 推荐(0)
摘要: 原始依赖管理方式 1.Go语言可以利用本身的能力做基础依赖管理,几个重要的组件包括GOPATH工作目录,Go命令工具(get install build)等,通过go get下载依赖包的最新版本到GOPATH指定目录。 Go语言有个重要的环境变量 GOPATH,保存工作目录路径(working sp 阅读全文
posted @ 2023-02-25 16:40 易先讯 阅读(164) 评论(0) 推荐(0)
摘要: close函数是用于关闭通道的。官方解释(摘自close函数源代码注释): The close built-in function closes a channel, which must be eitherbidirectional or send-only. It should be execu 阅读全文
posted @ 2023-02-25 15:21 易先讯 阅读(283) 评论(0) 推荐(0)
摘要: 排除应用程序故障是比较复杂的,特别是处理像 Go 这样的高并发语言。它更容易在具体位置使用 print 打印语句来确定程序状态,但是 这个方法 很难根据条件发展去动态响应 你的代码 。 调试器提供了一个强大得令人难以置信的故障排除机制。添加排除故障的代码可以巧妙地影响到应用程序该如何运行。调试器可以 阅读全文
posted @ 2023-02-22 14:24 易先讯 阅读(355) 评论(0) 推荐(0)
摘要: 函数的本质 在go语言中,函数也是一种数据类型 Go语言的数据类型: 数值类型:整数,浮点 进行运算操作,加减乘除,打印 字符串: 可以获取单个字符,截取子串,遍历,strings包下的函数操作。。 数组,切片,map。 存储数据,修改数据,获取数据,遍历数据。。。 函数: 加(),进行调用 注意点 阅读全文
posted @ 2023-02-21 15:44 易先讯 阅读(449) 评论(0) 推荐(0)
摘要: 常见报错语句: select count(*),(floor(rand(0)*2)) x from information_schema.tables group by x;1.通过concat函数连接注入语句与floor(rand(0)*2)函数,实现将注入结果与报错信息回显的注入方式。 1.1 阅读全文
posted @ 2023-02-18 18:18 易先讯 阅读(204) 评论(0) 推荐(0)
摘要: 双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立HTTPS连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传 阅读全文
posted @ 2023-02-14 10:03 易先讯 阅读(282) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 24 下一页