自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(275)
  • 资源 (9)
  • 收藏
  • 关注

原创 Go 1.23 新特性:Timer 和 Ticker 的重要优化

本文详细介绍了在 Go 1.23 版本中对 Timer 和 Ticker 的重要优化,包括两个主要方面:垃圾回收的改进 和 计时器通道行为的变化。改进后的垃圾回收机制有助于防止内存泄漏,而计时器通道的调整则确保在调用 Reset 或 Stop 之后,通道不会接收到任何旧数据,提高了定时器操作的可靠性和安全性。

2024-08-22 11:23:03 524

原创 MongoDB 实现自增 ID 的最佳实践

虽然 `MongoDB` 不支持自增 `ID` 的功能,但我们仍然可以使用其他方式来实现此功能。本文将会介绍如何在 `MongoDB` 中实现自增 `ID` 序号。

2024-08-16 09:59:52 939

原创 Go 1.23 版本发布啦,这些重大更新你一定要知道!

在Go 1.22版本发布6个月之后,Go 1.23于北京时间2024年8月14日凌晨1:03正式发布。此次更新的主要变化集中在工具链、运行时和库的实现上。让我们一起来看看Go 1.23带来了哪些新变化吧!准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。

2024-08-16 09:54:15 688

原创 利用 Redis Bitmap 实现高效的用户签到统计功能

本文详细介绍了如何利用 Redis Bitmap 类型实现高效的用户签到统计功能。内容包括 Redis Bitmap 数据类型的简单介绍及其应用场景,并通过 Go 语言程序简单实现了 用户签到、查询用户签到状态 和 统计今年累计签到天数 以及 统计当月的签到情况 的功能。

2024-07-23 14:41:28 813

原创 Go 在结构体中定义下划线(_)字段原来还有这个特殊用途?

在 Go 语言中,我们经常会看到下划线(_)的使用,例如将 _ 作为占位符,用于忽略不需要的变量,或者导入但不使用的包(即 Import for side-effects),以及忽略类型转换中的变量等等。然而,大多数人可能没有见过在结构体中使用下划线(_)的情况,例如定义一个名为 _ 的结构体字段。那么,定义这样一个字段的用途是什么呢?本文将为你揭示这个疑惑。

2024-06-24 14:23:59 740

原创 Go 语言 mongox 库:简化操作、安全、高效、可扩展、BSON 构建

Go Mongox 是一个基于泛型的 MongoDB 扩展库,提供类型安全和简化的数据操作,支持链式调用和丰富的 BSON 构建,增强应用的可扩展性和可维护性。

2024-06-05 10:47:04 713

原创 Go 事件驱动编程:实现一个简单的事件总线

本文深入探讨了在 Go 语言中实现简单事件总线的过程。通过利用 Go 语言的强大特性,如 channel 和并发机制,我们可以轻松地实现发布-订阅模式。

2024-05-13 10:13:31 1115 1

原创 深入浅出 Go 并发协同等待利器:sync.WaitGroup

本文深入探讨了 Go 语言中并发协同等待利器 sync.WaitGroup,详细介绍了它的组成部分、基本用法以及在实际开发中需要注意的关键点。虽然 sync.WaitGroup 的使用相对简单,但如果对计数器管理不当可能会发生不可预测的错误。

2024-04-29 10:25:48 917

原创 从 0 到 1 创建、测试并发布属于自己的 Go 开源库

本文详细探讨了如何从 0 到 1 创建、测试并发布属于自己的 Go 开源库。整个流程并不复杂,但需特别注意的地方是 module 模块的命名规范以及 tag 标签和版本号的命名规范性。此外,添加一个.gitignore 文件和版权信息,有助于用于过滤掉不必要的文件和目录,明确指出其他人使用你的代码的许可和条件。

2024-04-27 10:03:27 1014

原创 效率提升 80%:go-mongox 让复杂的 BSON 数据编写变得简单

本文对 go-mongox 库中 bson 数据构建 这一模块进行详细介绍。go-mongox 设计了多种不同类型的 BSON 构建器和函数,为我们 Go 开发者在不同场景下构建 BSON 数据提供了强大的支持。

2024-04-07 10:57:43 1138

原创 Go singleflight 源码剖析

本文深入剖析了 Go singleflight 包的源码实现和工作原理,探索单飞的奥秘。

2024-04-01 10:11:47 986

原创 Go singleflight:防缓存击穿利器

本文深入探讨了Go语言中singleflight包的使用。从缓存击穿问题的基础知识开始,进而详细介绍singleflight包的使用,展示如何利用它来避免缓存击穿。

2024-03-22 15:07:51 608

原创 Go JWT 全面指南

本文首先对 JWT 进行了概述,随后深入讲解了在 Go 语言下使用 JWT 的全过程。内容包括安装 Go 的 JWT 模块、创建 JWT 对象、生成 JWT 字符串以及解析 JWT 字符串的详细指南。

2024-03-07 10:32:50 1778

原创 Go 1.22 slices 库的更新:高效拼接、零化处理和越界插入优化

本文详细介绍了 Go 1.22 版本中 slices 库的更新内容,总结起来有三个方面:新增了 Concat 函数、对部分函数新增了零化处理的逻辑,包括 Delete、DeleteFunc、Compact、CompactFunc 和 Replace 函数和对 Insert 函数进行了越界插入优化。

2024-02-22 10:47:18 848

原创 Go1.22 for 循环的两处重要更新

本文介绍了 Go 1.22 版本对 for 循环所做的两处重要更新:循环的每次迭代都会创建新变量 和 循环支持对整数范围进行迭代。

2024-02-18 11:35:04 708

原创 Go 语言中没有枚举类型,但是我们可以这样做

在日常开发中,枚举类型是很常用的,虽然 Go 语言中没有内置枚举类型,但也不妨碍我们自己实现一个类似的 “**枚举类型**”。在实现的时候,需要考虑类型约束和安全性的问题。

2023-04-18 22:58:34 204 1

原创 Go sync.Once:简约而不简单的并发利器

我是陈明勇,本文将详细介绍了 `Go` 语言中的 `sync.Once`,包括它的基本定义、使用场景和应用实例以及源码分析等。在实际开发中,`sync.Once` 经常被用于实现单例模式和延迟初始化操作。虽然 `sync.Once` 简单而又高效,但是错误的使用可能会造成一些意外情况,需要格外小心。

2023-04-12 21:39:34 199

原创 Go RWMutex:高并发读多写少场景下的性能优化利器

RWMutex 是 Go 中的一种读写锁实现,它通过读锁允许多个 goroutine 同时执行读操作,当有写操作请求时,必须等待所有读操作执行结束后才能执行写操作。RWMutex 的设计采用了 Write-preferring 方案,即如果有写操作在等待执行,新来的读操作将会被阻塞,以避免写操作的饥饿问题。根据 RWMutex 的特性,它适用于 读多写少的高并发场景,可以实现并发安全的读操作,从而减少在锁竞争中的等待时间。

2023-04-06 19:41:49 464

原创 Go Mutex:保护并发访问共享资源的利器

本文主要介绍了 `Go` 语言中互斥锁 `Mutex` 的概念、对应的字段和方法、基本使用和易错场景,最后基于 `Mutex` 实现一个简单的线程安全的缓存。

2023-03-28 22:58:43 148

原创 学会 Go select 语句,轻松实现高效并发

在Go语言中,Goroutine和Channel是非常重要的并发编程概念,它们可以帮助我们解决并发编程中的各种问题。关于它们的基本概念和用法,前面的文章一文初探 Goroutine 与 channel中已经进行了介绍。而本文将重点介绍select,它是协调多个channel的桥梁。select是Go语言中的一种控制结构,用于在多个通信操作中选择一个可执行的操作。它可以协调多个channel的读写操作,使得我们能够在多个channel中进行非阻塞的数据传输、同步和控制。本文主要介绍了Go语言中的select。

2023-03-15 10:54:58 354

原创 一文初探 Goroutine 与 channel

Go 语言的CSP并发模型的实现包含两个主要组成部分:一个是Goroutine,另一个是channel。本文将会介绍它们的基本用法和注意事项。

2023-03-15 10:14:36 244

原创 巧用 ChatGPT,让开发者的学习和工作更轻松

本文将分享一些使用 ChatGPT 的巧妙技巧和方法,掌握这些技巧和方法,或者举一反三,相信能够轻松地面对工作和学习中的各种挑战。

2023-02-28 09:58:23 4862

原创 Go 语言中的 Slice 陷阱:如何避免常见错误

`Go` 语言提供了很多方便的数据类型,其中包括 `slice`。然而,由于 `slice` 的特殊性质,在使用过程中易犯一些错误,如果不注意,可能导致程序出现意外行为。本文将详细介绍 使用 `slice` 时易犯的一些错误,帮助读者更好的使用 `Go` 的 `slice`,避免犯错误。

2023-02-14 11:49:40 613 2

原创 小兔子在终端给大家拜年啦

哈喽大家好,我是陈明勇,本文分享的内容是 使用 Go 语言实现小兔子在终端给大家拜年。如果觉得作品有趣,不妨点个赞,如果本文有错误的地方,欢迎指出!

2023-01-13 21:46:20 691

原创 一文了解 Go fmt 标准库输入函数的使用

哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库输入函数的使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-31 18:44:07 520 6

原创 一文了解 Go fmt 标准库输出函数的使用

哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库输出函数的使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-30 23:32:10 808

原创 一文了解 Go fmt 标准库的常用占位符及其简单使用

哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库的常用占位符及其简单使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-23 02:07:02 518

原创 一文掌握使用 Go 标准库 sort 对切片进行排序

哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 标准库 sort 对切片进行排序。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-21 01:03:06 733

原创 Go 实现线性查找算法和二分查找算法

哈喽大家好,我是陈明勇,今天分享的内容使用 Go 实现线性查找算法和二分查找算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-20 02:21:33 457

原创 Go 读取 YAML 配置文件的两种方式

哈喽大家好,我是陈明勇,今天分享的内容如何在 Go 里面读取 YAML 配置文件。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-18 00:51:46 4130

原创 一文了解 Go 标准库 math 和 rand 的常用函数

哈喽大家好,我是陈明勇,今天分享的内容是在 Go 标准库 math 和 rand 的常用函数。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-17 00:49:34 883

原创 Go 也能实现 “继承”?

哈喽大家好,我是陈明勇,今天分享的内容是在 Go 里面使用组合的思想实现“继承”。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步。

2022-12-16 00:53:20 1283

原创 Go HTTP 调用(下)

哈喽大家好,我是陈明勇,今天分享的内容是 Go HTTP 调用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

2022-12-15 07:43:53 879

原创 Go HTTP 调用(上)

本文介绍了在 Go 语言里如何进行 HTTP 调用,并通过 GET 请求案例讲述了 query 参数和 header 参数如何设置,以及响应体的获取方法。

2022-12-14 00:19:48 715

原创 Go 结构体与 JSON 之间的转换

在日常开发中,我们往往会将 JSON 解析成 对应的结构体,反之也会将结构体转成 JSON。本文会通过 JSON 包的两个函数,来介绍 JSON 与结构体之间的转换。

2022-12-13 00:05:19 3050

原创 巧用 Go Map 特性对数组或切片去重

哈喽,大家好,我是陈明勇。本文将介绍如何利用 Go 的复合数据类型 Map 的特性对数组或切片进行去重。

2022-12-11 23:58:56 848

原创 Go 实现希尔排序算法及图解

本文对希尔排序进行简单的介绍,然后通过图解演示希尔排序的整个排序过程,最后使用 Go 语言实现希尔排序算法。

2022-12-11 01:56:57 456

原创 Go 实现插入排序算法及优化

本文分享的内容是使用 Go 实现插入排序算法。算法包含普通算法和优化后的算法。优化后的算法相比普通的算法,避免了频繁交换元素导致效率低的问题。

2022-12-10 01:31:04 646

原创 Go 实现选择排序算法及优化

本文分享的内容是使用 Go 实现选择排序算法。算法包含普通算法和优化后的算法。优化后的算法减少了一半的交换次数。

2022-12-09 00:50:34 421

原创 只会用 Go 写 O(N²) 的冒泡排序算法?来看看优化后最好情况下的 O(N) 算法吧

冒泡排序是交换排序中最简单的一种算法。本文将用 Go 实现普通的冒泡排序的算法,然后对算法进行优化,得到最好情况下的 O(N) 算法。

2022-12-08 00:48:21 288

junit-4.11和hamcrest-core-1.3 的jar包

junit-4.11和hamcrest-core-1.3 的jar包,用于java 单元测试,需要的可以下载

2021-02-26

junit-4.11.jar包

junit-4.11.jar包,有需要的可以下载

2021-02-26

mysql-connector-java.rar

官方下载的MySQL驱动jar包,里面包含了mysql-connector-java-5.1.37-bin.jar 版本包和 mysql-connector-java-8.0.23.jar 版本包。需要的可以下载

2021-02-26

python GUI井字棋

python实现的GUI井字棋游戏,精美的开始界面及开始按钮 游戏功能: 机器人:简单的AI人工智能算法 玩家:鼠标操作

2020-07-20

python推箱子游戏

推箱子游戏,自带音效,内置16关卡。 游戏功能: 人物移动:可使用键盘的方向盘或“wsad” 移动撤回:按“b”键可以使人物的回到上一步位置

2020-07-20

python实现的学生信息管理系统—GUI界面版

设计一个GUI界面的学生信息管理系统,方便保存学生的部分信息。 有五类功能: 1、 增加学生信息:输入姓名、学号、年龄、手机号 2、 修改学生信息:输入新的姓名、学号、年龄、手机号 3、 删除学生信息:以学号为索引 4、 查询学生信息:以学号为索引 5、 显示学生信息:一条一条整页显示。

2020-06-07

python界面图书管理系统—GUI界面版

设计一个GUI界面的系统,模拟图书管理,一个面向学生和学校管理员的系统,图书信息以txt文件存在本地。 管理员:查询图书 增加图书 删除图书 学生:借阅图书 归还图书 任何一个操作都会将所更新的图书信息存入本地txt文件。

2020-06-07

python实现GUI界面的ATM系统

设计一个GUI界面的ATM系统,该系统可以实现现实生活中ATM机器的大部分功能,涉及到插卡,退卡,取款,存款等操作。 用户插卡:选择已有卡号,输入密码进行登录。 ATM系统功能:查询余额; 转账:输入乙方银行卡和转账金额; 存款; 流水记录:查询银行卡账单 取款; 退卡。

2020-06-07

python实现GUI界面购物商城

python实现GUI界面的购物商城,商城上顾客可以购买任意东西,平台上分为两个身份,一个身份是售货员,一个身份是顾客,售货员负责进货,顾客负责买东西。 功能: 售货员->增加商品到仓库里、从仓库里删除商品 顾客->选择商品加购购物车,最后结算 购物车->结算、清空

2020-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除