
go
文章平均质量分 82
qq_17280559
这个作者很懒,什么都没留下…
展开
-
GO和C++指针的区别
Go 的指针设计更加注重安全性和易用性,避免了 C++ 指针的复杂性和潜在风险,适合开发高效、稳定的并发程序。C++ 的指针则更灵活,但需要开发者有更高的内存管理能力。Go 和 C++ 的指针有很多相似点,但也有一些关键区别。这些差异反映了两种语言的设计理念和目标。:指针和数组关系紧密,可以通过指针操作数组。:没有内置垃圾回收机制。:内置垃圾回收机制。原创 2024-12-03 14:31:43 · 978 阅读 · 0 评论 -
Go的简单问题问答
go的特点、数据类型、错误处理,interface等原创 2024-12-03 14:30:04 · 667 阅读 · 0 评论 -
wails运行时功能介绍
运行时应用程序隐藏显示退出环境环境信息Events 事件EventsOn 添加事件侦听器EventsOff 移除事件侦听器EventsOnce 添加只触发一次的事件侦听器EventsOnMultiple 添加指定对多触发次数的事件侦听器EventsEmit 触发指定事件Log 日志LogPrint Print 日志LogPrintf 格式化 Print 日志LogTrace Trace 日志LogTracef 格式化 Trace 日志LogDebug Debug 日志L原创 2024-11-27 14:52:59 · 1422 阅读 · 0 评论 -
Wails不同平台打包
用wails进行go的app打包,简单列一个Makefile模版,测试需要再拿来用。原创 2024-11-02 16:00:01 · 657 阅读 · 0 评论 -
Go-Sqlite3学习
go-sqlite3是 Go 语言中用于操作 SQLite 数据库的第三方驱动库。SQLite 是一种轻量级、嵌入式的关系型数据库,适用于小型应用和嵌入式开发场景,而go-sqlite3库让我们能够在 Go 项目中轻松使用 SQLite 数据库。下面是go-sqlite3。原创 2024-11-01 18:39:52 · 790 阅读 · 0 评论 -
GIN 反向代理功能
此设置非常适合需要将请求动态代理到不同后端服务器的场景,同时处理跨域请求并确保并发访问的安全性。原创 2024-11-01 18:36:00 · 778 阅读 · 0 评论 -
Wails 学习笔记:Wails核心思想理解
是 Wails 框架的核心启动函数,负责初始化应用、加载前端资源、配置窗口、并管理前后端通信。通过,开发者可以灵活配置应用的行为,如窗口属性、前端入口文件、绑定的后端函数等。不仅启动了整个应用程序,还提供了一个平台,使得现代前端技术和高效的 Go 后端能够无缝集成,从而实现高性能的桌面应用开发。原创 2024-10-15 15:31:57 · 1704 阅读 · 0 评论 -
Go Wails 学习笔记:创建第一个项目
Wails 通过结合前端技术和 Go 后端,提供了一个高效的方式来开发跨平台的桌面应用。其简单的项目初始化和清晰的结构使得开发者能够快速上手。通过 Wails,可以充分利用 Web 开发技能,同时获得原生桌面应用的优势。原创 2024-10-14 17:16:49 · 2048 阅读 · 0 评论 -
GO Practise
练习:切片练习:映射 练习:斐波纳契闭包练习:Stringer 练习:错误原创 2024-10-12 16:33:41 · 613 阅读 · 0 评论 -
GO GOPS学习
它能够显示 Go 进程的详细信息,包括堆栈跟踪、内存统计信息、Go 版本等,并提供了一些实用的诊断命令。这个命令会显示该进程的所有 goroutine 的堆栈跟踪,这对于调试死锁或理解程序的执行流程非常有用。替换为你想要查看的进程的进程ID。这将显示该进程的详细信息,包括内存使用情况、CPU 使用率、启动命令等。这个命令会以树状结构展示所有 Go 进程及其相互关系,帮助你理解进程之间的父子关系。这个命令会显示系统中所有正在运行的 Go 进程的简要信息。这个命令会显示指定进程的内存分配和垃圾回收统计信息。原创 2024-10-08 17:37:02 · 1268 阅读 · 0 评论 -
Go 性能剖析工具 pprof 与 Graphviz 教程
在 Golang 开发中,性能分析是确保应用高效运行的重要环节。本文介绍如何使用在 Gin 应用中集成性能剖析工具,并结合Graphviz生成图形化的性能分析结果,如火焰图。这套流程帮助开发者更好地理解和优化 Go 应用的性能。原创 2024-10-08 15:39:43 · 1516 阅读 · 0 评论 -
GO Message Bus
消息总线是一种解耦的设计模式,适用于分布式系统和事件驱动架构。Go 中可以通过使用channels和goroutines实现自定义的消息总线,也可以使用go-micro等库来实现更复杂的分布式消息总线功能。消息总线的典型应用包括:微服务通信、事件驱动架构、异步任务执行等。原创 2024-09-26 18:13:21 · 1156 阅读 · 0 评论 -
GO Godotenv
godotenv是一个非常简单、轻量级的包,用于加载和解析.env文件,并将其中的内容导入环境变量。使用.env文件可以轻松管理项目的配置信息,并支持不同的环境配置(如开发、测试、生产)。了解如何加载.env文件、指定路径、加载多个文件以及将环境变量写入.env文件等操作,可以帮助你更好地管理和使用环境变量。原创 2024-09-26 18:10:04 · 772 阅读 · 0 评论 -
GO Serial 学习与使用
是一个 Go 包,提供了一种简单的方式来与串口进行交互。在打开、读取和写入串口时,请确保适当地处理错误,如示例所示。您还可以配置超时,并在需要时使用该包进行异步通信。这应该为您在 Go 应用程序中使用。包提供了一个坚实的基础!原创 2024-09-25 11:14:58 · 756 阅读 · 0 评论 -
GO Fsnotify学习与使用
是 Go 的一个文件系统通知库,可以监视文件或目录的变化。原创 2024-09-25 11:11:48 · 797 阅读 · 0 评论 -
Go Sonyflake学习与使用
Sonyflake 的时间戳精度是 10ms,如果在同一个 10ms 内生成的 ID 数量超过了序列号的最大值(16-bit,最多 65536 个 ID),它就会进入等待状态,直到时间前进。:如果系统时间出现了倒退(例如通过手动设置时间或者 NTP 时间同步导致时钟回调),Sonyflake 会出现时间不一致的问题,无法生成新 ID。:由于生成的 ID 是递增的,它们可以很自然地用于数据库的主键,这有助于提升数据库插入和查询效率。检查程序的内存使用情况,确保在生成大量 ID 时,内存分配是足够的。原创 2024-09-24 14:23:36 · 864 阅读 · 0 评论 -
Go conc库学习与使用
是一个简化 Go 并发编程的高效工具库。它提供了比标准库更简洁、更功能丰富的 API,能够更好地处理 Goroutines 的错误、结果以及并发数量控制。同时,它还集成了context,适合处理超时和取消任务的场景。设计简单且安全,但在使用过程中,开发者仍需注意 Goroutines 常见的并发问题。常见的panic情况包括任务中的运行时错误、重复调用Wait()context超时、以及不安全的并发访问。通过正确的任务管理、错误处理和同步机制,可以有效避免这些问题。原创 2024-09-24 14:22:13 · 943 阅读 · 0 评论 -
GO Ants 学习
可以通过NewPool方法传入自定义参数,例如最大协程数量、超时时间等。import ("fmt""sync""time"// 自定义协程池参数:最大协程数为 5,最大空闲时间为 10 秒for i := 0;i < 10;i++ {wg.Add(1)fmt.Println("任务完成")wg.Done()})wg.Wait()ants是一个非常高效的 Go 协程池库,适合在高并发场景下进行任务调度和协程管理。原创 2024-09-22 21:06:20 · 1301 阅读 · 0 评论 -
Go大小端理解
有时我们需要检测当前系统是使用大端序还是小端序。我们可以通过这些表示将整数、浮点数等类型转换为字节序列或从字节序列解析出数值。(Endianness)是指多字节数据在内存中或在网络传输时的字节排列方式,通常用于处理。在网络编程中,通常使用大端序(网络字节序)来传输多字节数值。在 Go 语言中,通过。在 Go 语言中,大小端问题与数据的字节顺序有关。包提供了用于处理大小端的工具,它定义了。原创 2024-09-22 18:45:31 · 1212 阅读 · 0 评论 -
Go websocket
Go 中的是一个常用且高效的 WebSocket 实现库,可以帮助你轻松地在 Web 应用中实现实时通信。学习的基本用法包括建立 WebSocket 连接、发送和接收消息、处理错误、以及在实际场景中的使用。以下是关于的学习步骤和一些使用示例。原创 2024-09-14 20:55:08 · 877 阅读 · 0 评论 -
GO Server-Sent Events (SSE)
Server-Sent Events (SSE) 是一种服务器向客户端单向推送事件的技术。使用 SSE,服务器可以通过一个持续的 HTTP 连接向客户端发送实时更新,适用于实时通知、数据流等场景。通过这个教程,你已经了解了什么是 Server-Sent Events (SSE)、它的使用场景以及如何在 Go 中实现一个简单的 SSE 服务器,并在前端接收实时数据。SSE 是一种简单、有效的实时数据推送方式,适用于单向、低延迟的实时更新需求。原创 2024-09-14 21:01:33 · 1154 阅读 · 0 评论 -
GO Govaluate
`govaluate` 是一个用于在 Go 语言中动态求值表达式的库。它允许你解析和评估字符串形式的表达式,这些表达式可以包含变量、函数以及逻辑、算术和比较操作。它非常适合在运行时处理复杂的逻辑规则和条件表达式,而不需要重新编译代码。原创 2024-09-12 12:16:37 · 1611 阅读 · 0 评论 -
GO 闭包
状态保持(如计数器)缓存和性能优化(记忆化)动态生成行为(工厂模式)函数式编程风格的操作(如mapfilter控制访问权限(模拟私有变量)闭包使得 Go 的函数行为更加灵活,能够轻松实现复杂的逻辑和状态管理,从而增强代码的表达力和简洁性。原创 2024-09-11 22:43:00 · 869 阅读 · 0 评论 -
GO 匿名函数
回调函数goroutine 内的操作defer 中的延迟操作内联处理逻辑闭包捕获外部变量数据过滤、映射等操作测试中的临时逻辑简化短期存在的逻辑这些场景使得匿名函数在代码中可以有效提升灵活性、减少重复定义,适合简短且不需要重复使用的操作。原创 2024-09-11 22:35:27 · 756 阅读 · 0 评论 -
GO Date数据处理
今天封装了一个go 的date数据处理,方便以后直接用。1、创建dateformat.go文件。2、创建单元测试测试文件。原创 2024-08-30 11:40:47 · 664 阅读 · 0 评论 -
GO Signal
包提供了对操作系统信号的访问和处理。信号是进程之间通信的一种方式,通常由操作系统生成,表示某些事件发生,比如进程终止、挂起、或者其他异步事件。结合HTTP服务器和信号捕获,可以实现优雅地关闭服务器,确保在接收到。有时我们可能不希望处理某些信号,而是忽略它们。信号时,完成当前处理的请求后再关闭服务器。以下是一个简单的Go程序,展示如何捕获。包可以捕获这些信号并做出相应的处理。信道使用,用于异步接收信号。Go中的信号处理主要通过。原创 2024-09-10 19:11:14 · 740 阅读 · 0 评论 -
Paho-Mqtt库的使用
MQTT 支持持久化会话,即当客户端断开连接后,代理可以保留它的订阅和 QoS 1 或 2 消息。在重新连接时,客户端可以接收在离线期间发布的消息。来设置自动重连,确保在网络故障后客户端自动尝试重新连接。方法中,你可以指定不同的 QoS 级别。原创 2024-09-21 23:37:30 · 1993 阅读 · 0 评论 -
Kafka-Go学习
是 Go 语言中用于与 Kafka 进行通信的一个简洁高效的库,提供了生产者、消费者、分区管理、偏移量管理等完整的功能。它的 API 设计简单易用,同时具有较高的性能和扩展性,适合在 Go 应用中集成 Kafka 消息队列。是 Go 语言中一个轻量级、高效的 Kafka 客户端库,提供了简单易用的 API 来与 Apache Kafka 进行交互。支持 Kafka 的生产者和消费者功能,适用于 Go 应用程序中使用 Kafka 进行消息队列的实现。生产者的作用是向 Kafka 的主题中发送消息。原创 2024-09-21 23:32:35 · 1217 阅读 · 0 评论 -
Go Testify学习与使用
是一个强大的 Go 语言单元测试库,它提供了丰富的断言功能、mock 机制和测试套件管理工具,使得编写测试更加容易和规范。方法设置了预期的输入和输出。当测试中调用这个方法时,它返回的值将是我们事先定义的“Mocked Data”。库,可以模拟依赖关系中的方法或接口,帮助测试代码中的外部依赖(如数据库、API 调用等)。的断言模块简化了验证测试结果的过程,提供了许多常用的断言方法。模块,允许将多个相关的测试组织成一个测试套件,并提供了。是 Go 语言中一个常用的单元测试库,它为标准的。原创 2024-09-20 23:01:40 · 1310 阅读 · 0 评论 -
Viper学习与使用
Viper 是 Go 中非常强大的配置管理库,提供了读取文件、环境变量、命令行参数、远程配置等多种方式。通过与其他库如。原创 2024-09-20 22:58:27 · 1107 阅读 · 0 评论 -
GO Cron&Gin
`robfig/cron` 是 Go 中一个常用的定时任务库,提供了类似于 Unix cron 表达式的调度功能。可以使用它来执行定时任务,例如每天备份数据库、定期发送报告等原创 2024-09-19 17:20:59 · 1262 阅读 · 0 评论 -
uber-go/zap & sirupsen/logrus
使用Zap如果你需要最高的性能,且应用的高吞吐量对结构化日志和最小化开销有严格要求。使用 Logrus 如果你更注重易用性和灵活性,应用的性能不是首要考虑因素,或者需要与各种日志后端轻松集成。原创 2024-09-19 17:13:09 · 1265 阅读 · 0 评论 -
GO GORM & JSON
GORM 是一个在 Go 语言中广泛使用的 ORM(对象关系映射)库,提供了对数据库的操作和管理,使得开发者可以更方便地进行数据库操作。GORM 支持主流的数据库,如 MySQL、PostgreSQL、SQLite 和 SQL Server。将 GORM 与 JSON 结合使用,可以方便地在 Web 应用中处理数据。例如,使用 GORM 从数据库中查询数据并将其转换为 JSON 格式返回给客户端,或者从客户端接收 JSON 数据并保存到数据库中原创 2024-09-18 16:42:20 · 2100 阅读 · 0 评论 -
GO JWT DEMO
是一种基于令牌的认证方法,在客户端生成一个加密的令牌来存储用户信息,并在每次请求时将该令牌发送给服务器进行验证。JWT 的广泛应用场景包括用户认证、授权、信息交换等。JWT 提供了一种简单而强大的方式来处理用户认证和授权,但需要小心处理安全细节,确保系统的安全性。JWT 由三部分组成,每部分使用点 (以下是如何在 Go 中使用。原创 2024-09-18 16:28:26 · 1058 阅读 · 0 评论 -
Gin Session
是一个强大的会话管理中间件,支持多种存储后端,可以在 Web 应用中方便地实现用户会话管理、数据持久化等功能。通过合理使用会话,可以提高应用的用户体验和安全性。原创 2024-09-17 15:36:51 · 769 阅读 · 0 评论 -
GO GIN & SSE DEMO
将GIN项目与SSE库结合,写一个简单的demo,具备正常的API接口和流处理接口,实现了两种类型的 Server-Sent Events (SSE) 流,以及一个简单的用户管理接口。这样做可以让每个文件更专注于自己的任务,保持代码清晰整洁,有利于团队合作和代码维护。文件保持不变,用于处理用户相关的接口。文件会引入所有的路由注册函数,包括。文件只处理时间流的 SSE 接口。文件只处理数字流的 SSE 接口。原创 2024-09-17 14:41:11 · 2268 阅读 · 0 评论