发布了文章2023-10-20
那么我们以前学过的 C 语言,是不支持重载的,是不会自动根据参数类型来进行匹配的,但是我们可以通过一些技巧来模拟函数重载,例如我们可以定义一类名字相似的函数,参数列表来模拟重载的效果
发布了文章2023-10-19
demo 中的 helloworld 方法就绑定到了 receiver T 类型上,这个 helloworld 方法,我们可以通过使用 T 类型或者 *T 来进行调用,例如:
发布了文章2023-10-18
函数是什么?学过编程的 xdm 对于函数自然不会陌生,那么函数是什么呢?函数是一段可以重用的代码块,可以被多次调用,我们可以通过使用函数,提高咱们代码代码的模块化,提高程序的可读性和可维护性对 GO 语言中的函数,入参可以有多个,返回值也可以有多个,此处建...
发布了文章2023-10-17
channel 是什么?channel 是GO语言中一种特殊的类型,是连接并发goroutine的管道channel 通道是可以让一个 goroutine 协程发送特定值到另一个 goroutine 协程的通信机制。关于 channel 的原理,channel通道需要注意的地方,之前有分享过,可以查看如下文章GO通道和 s...
发布了文章2023-10-15
以前写 C 的时候,我们一般是都通过共享内存来通信,对于并发去操作某一块数据时,为了保证数据安全,控制线程间同步,我们们会去使用互斥锁,加锁解锁来进行处理
发布了文章2023-10-14
工作中查看项目代码,发现会存在使用 GO 语言做并发的时候出现各种各样的异常情况,有的输出结果和自己期望和设计的不一致,有的是程序直接阻塞住,更有甚者直接是程序 crash 掉。
发布了文章2023-10-13
例如我们有一个系统,期望不同权限的用户可以看到不同类型的页面,同一个页面不同权限的用户看到的数据也是不一致的,且 管理员 分为不同等级,不同等级对比自己低等级的管理员仍然具有分配权限的权利
发布了文章2023-10-12
日常工作中免不了使用设计模式,那么你使用了哪些设计模式呢?设计模式是什么?设计模式是一种在软件设计中对常见问题的通用解决方案。它们是经过验证的、可重用的设计思想,可以帮助解决开发过程中遇到的各种问题。设计模式提供了一种共同的词汇表和方法论,让不同...
发布了文章2023-10-11
Hugo是一个用 Go语言 编写的静态网站生成器,可以快速地生成高效、安全和易于管理的静态网站。Hugo具有速度快、可定制性强、易于使用等特点,被广泛应用于个人博客、公司网站、文档站点等领域。
发布了文章2023-10-10
切片,相信大家用了 Go 语言那么久这这种数据类型并不陌生,但是平日里聊到关于切片是如何扩容的,很多人可能会张口就来,切片扩容的时候,如果老切片的容量小于 1024 那么就再扩容 1倍,也就是新的切片容量是老切片容量的两倍,同理,如果老切片容量大于 1024,那么...
发布了文章2023-10-09
虽然很多人使用 Go 语言有一定时间了,甚至有的使用了 1 年 2 年,然后对于 Go 语言中的反射还是模棱两可,使用起来的时候,心里也不是非常有底气
发布了文章2023-10-08
本次主要聊聊 Go 语言中关于 panic 和 recover 搭配使用 ,以及 panic 的基本原理最近工作中审查代码的时候发现一段代码,类似于如下这样,将 recover 放到一个子协程里面,期望去捕获主协程的程序异常看到此处,是否会想这段代码在项目中是想当然写出来的吧,然而平...
发布了文章2023-10-06
本次主要来聊聊关于 ORM 的内容,欢迎评论交流,欢迎批评指正分别从如下 4 个方面来展开ORM 他是个啥?<!---->为什么要用 ORM?<!---->ORM 给我们带来了哪些问题?<!---->如何去考虑是否要使用 ORM?ORM 他是个啥?一提到 ORM 很多同学知道他是跟...
发布了文章2023-10-05
theme: Chinese-red本文正在参加 「金石计划 . 瓜分6万现金大奖」本次主要是聊聊关于使用接口抽象和降低圈复杂度的方式工作中,难免会遇到老项目老代码,不仅仅需要我们维护,可能还需要我们在原来的垃圾代码上进行新增功能或者是进行优化调整例如现有的老代码中关于...
发布了文章2023-10-04
本文也主要聊聊在 GO 中的指针和内存,希望对你有点帮助如果你学习过 C 语言,你就非常清楚指针的高效和重要性使用 GO 语言也是一样,项目代码中,不知道你是否会看到函数参数中会传递各种 map,slice ,自定义的结构等等这些参数数据量如果比较小的话就算了,可偏偏...
发布了文章2023-10-01
因为最近发现身边的小伙伴写 2 个或者多个 map 比较的时候,都是自己去实现去比较每一个结构,每一个节点的 key 和 value 是不是都相等,且根据不同的数据结构,都要去实现一遍,没有必要自己造轮子
发布了文章2023-09-30
本次主要是聊聊关于 web 中间件, 分为如下四个方面什么是 web 框架中间件<!---->为什么要使用 web 中间件<!---->如何使用及其原理<!---->哪些场景需要使用中间件开门见山 web 中间件是啥Web 框架中的中间件主要指的是在 web 请求到具体路由之前或...
发布了文章2023-09-29
小 A 负责一个模块功能的实现,在调试代码的时候可能不仔细,部署到线上环境时发现在现有策略列表上追加新的策略时,总是无法生效,这是为什么呢?
发布了文章2023-09-28
本篇文章主要是来聊聊 Golang 中关于 nil 的使用方式及理解,看看有没有你还不知道的情况呢?使用 Golang 的朋友都知道,在 Golang 的世界里面,有一个预先声明的标识符 nilnil 标识符可以作为多种数据结构的零值,通常我们会将 nil 就认为是空的意思,就像 C 语言里...
发布了文章2023-09-27
咱们以前单体应用里面有很多的应用和功能,依赖各个功能之间相互调用,使用公共的代码包等等,排查问题,使用类似于 gdb/dlv 工具或者直接查看代码日志,进行定位和分析