大家好,我是 frank。 欢迎大家点击标题下方蓝色文字「Golang 语言开发栈」关注公众号。 公众号主页点击右上角三个点图标, 设为星标,第一时间接收推送文章。01 介绍延迟队列是一种数据结构,用于处理需要在未来某个特定时间执行的任务。这些任务被添加到队列中,并且指定了一个执行时间,只有到达指定的时间点时才能从队列中取出并执行。在实际应用中,延迟队列可以 ......
48
0
0
2024-04-25
Token新开源Gateway,使用yarp实现的一个反向代理,支持界面操作动态添加集群添加路由绑定,并且支持动态添加域名绑定https证书,超强yarp+FreeSql+MiniApis纯原生接口实现。功能亮点在线配置域名证书:实时生效,无需重启服务。集群和路由的在线配置:动态添加和修改即时生效。日志面板:默认提供,方便监控。扩展性:简单的功能实现,便于根 ......
52
0
0
2024-04-25
不了解栈和堆在Go语言中,变量可以分配在栈上,也可以分配在堆上。栈内存和堆内存有着本质不同,会对数据密集型应用产生重大影响。本文主要讨论编译器将一个变量分配到栈上还是堆上规则。栈与堆栈是一种先进后出的数据结构,存储特定的goroutine的所有局部变量。当启动一个goroutine时,会分配2KB的连续内存作为栈空间。但是,栈大小在运行时并不是固定不变的,可 ......
52
0
0
2024-04-25
文章介绍:笔者对Go语言知识进行体系化总结,有一定全面性与深度。简介历史与发展Go 语言由Google开发,起源于 2007 年,开源于 2009 年。诞生背景,主要是解决其他语言的历史包袱重、复杂、编译慢等问题。其设计理念是less is more,追求简洁、高效、直接。由 Go 开发的开源项目:go、docker、k8s、etcd等。语言特性编译型,区别 ......
81
0
0
2024-04-21
简介计算机中的反射是指程序通过类型等手段检查其自身结构的能力,它是元编程的一种形式,同时也是一种很容易引起混淆的概念。在本文中,我们将阐述Go语言中的反射是如何工作的。每种语言的反射模型都是不同的(尽管也有许多语言不支持反射),但本文是关于Go的,所以在之后提到的“反射”就是单指“Go中的反射”。2022年新增:这篇博客文章是在2011年编写的,早于Go语言 ......
142
0
0
2024-03-30
Gin CORS 跨域请求资源共享与中间件目录Gin CORS 跨域请求资源共享与中间件一、同源策略1.1 什么是浏览器的同源策略?1.2 同源策略判依据1.3 跨域问题三种解决方案二、CORS:跨域资源共享简介(后端技术)三 CORS基本流程1.CORS请求分类2.基本流程四、CORS两种请求详解1.两种请求详解2.解决跨域问题:浏览器对于这两种请求的处理 ......
141
0
0
2024-03-27
前言相信大家对于缓存这个词都不陌生,但凡追求高性能的业务场景,一般都会使用缓存,它可以提高数据的检索速度,减少数据库的压力。本文旨在探讨实现一个支持多种 过期、淘汰 机制的本地缓存的核心原理,我将重点讲解如何支持多样化的过期和淘汰策略。如果需要查看完整的代码设计,请前往以下链接:https://github.com/chenmingyong0423/go-g ......
140
0
0
2024-03-27
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。所以,我顺手改了它,然后把这个改良版开源了。写在前面soulteary/gin-staticGin-static 的改良版,我开源在了 soulteary/gin-static[1],也发布在了 Go 软件包市场:pkg.go.d ......
129
0
0
2024-03-24
在 Go 语言标准库中,archive 包提供了用于处理归档文件(压缩文件和文件集合)的库。本文将详细介绍 archive/tar 和 archive/zip 包,它们分别用于处理 tar 格式和 zip 格式的归档文件。1. archive/tar 包archive/tar 包提供了对 tar 格式的文件归档和解档的支持。tar(tape archive) ......
125
0
0
2024-03-19
目录一、什么是热加载二、Air2.1 介绍2.2 特性特性:2.3 相关文档2.4 安装推荐使用 install.sh使用 go install2.5 配置环境变量2.6 使用三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用四、bee4.1 介绍4.2 相关文档4.3 安装与使用4.4 基本命令五、gowatch5.1 介绍5.2 相关文档5.3 ......
113
0
0
2024-03-19
目录前言反向代理的原理Go语言优势使用Go语言实现反向代理的步骤反向代理使用示例结束语前言作为开发者而言,尤其是后端开发者对反向代理并不陌生,其实反向代理是一种常见的网络应用架构,它可以提供负载均衡、安全性增强和高可用性等优势。鉴于抱着学习的态度,本文将详细介绍如何使用Go语言实现一个简单的反向代理服务器,并展现对应的完整的源代码,希望能够帮助读者了解反向代 ......
121
0
0
2024-03-19
2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time,分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠,一位需要 付费 的油漆匠,刷第 i 堵墙需要花费 time[i] 单位的时间,开销为 cost[i] 单位的钱。一位 免费 的油漆匠,刷 任意 一堵墙的时间为 1 单位,开销为 0,但是必 ......
105
0
0
2024-03-18
Gin 路由注册与请求参数获取一、Web应用开发的两种模式1.前后端不分离模式也叫前后端混合开发模式, 需要后端写模板语言(dtl), 返回的是HTML页面浏览器 : 请求动态页面后端 : 返回HTML优点:可以直接渲染页面, 方便处理请求数据缺点:耦合度非常高, 不方便扩展2.前后端分离模式前端 : 只写前端后端 : 只专注于写后端接口, 返回 json, ......
76
0
0
2024-03-17
Gin 框架介绍与快速入门一、Gin框架介绍Gin是一个轻量级的Go语言Web框架,它具有高性能和简洁的设计。由于其快速的路由匹配和处理性能,Gin成为Go语言中最受欢迎的Web框架之一。以下是一些Gin框架的主要特点:1. 快速和轻量级Gin框架的设计注重性能和效率,采用了一些优化措施,使其成为一个快速而轻量级的框架。2. 路由和中间件Gin提供了强大的路 ......
68
0
0
2024-03-17
这是 Go 应用程序项目的基本布局。它不是核心 Go 开发团队定义的官方标准;然而,它是 Go 生态系统中一组常见的老项目和新项目的布局模式。其中一些模式比其他模式更受欢迎。它还具有许多小的增强,以及对任何足够大的实际应用程序通用的几个支持目录。 如果你尝试学习 Go,或者你正在为自己建立一个 PoC 或一个玩具项目,这个项目布局是没啥必要的。从一些非常简 ......
63
0
0
2024-03-17