- 博客(84)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 GO和C++指针的区别
Go 的指针设计更加注重安全性和易用性,避免了 C++ 指针的复杂性和潜在风险,适合开发高效、稳定的并发程序。C++ 的指针则更灵活,但需要开发者有更高的内存管理能力。Go 和 C++ 的指针有很多相似点,但也有一些关键区别。这些差异反映了两种语言的设计理念和目标。:指针和数组关系紧密,可以通过指针操作数组。:没有内置垃圾回收机制。:内置垃圾回收机制。
2024-12-03 14:31:43
965
原创 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
1346
原创 Docker login 报证书存储错误的解决办法
首先安装 gnupg2 和 pass 包,并生成 gpg2 key (我没有用到生成步骤一样可行)今天在 push 容器镜像时,反复提示没有权限,猜测可能是登陆了其他容器账号验证不过。使用的是 Mint Linux ,容器为 docker-ce 最新版。,只要 “pass” 掉验证步骤。
2024-11-26 15:38:19
844
1
原创 Vue 3 学习文档(一)
Vue 3 的核心概念,如响应式系统、模板语法、事件处理、生命周期钩子等,已经涵盖了大部分常用功能。Vue 3 的提供了更加灵活和可维护的代码结构,增强了代码的可组合性和重用性。在实际开发中,结合实际需求,选择合适的功能和特性能够让你高效地开发出更具可维护性的应用。
2024-11-26 14:54:53
1403
原创 RUST学习教程-安装教程
安装完成,当出现command not found的时候,需要source一下环境变量。Linux或者mac安装教程。
2024-11-22 15:30:18
477
原创 Modpoll 使用教学文档
是一个基于命令行的 Modbus 主机模拟器和测试工具,广泛用于调试 Modbus 设备。它支持多种通信协议(ASCII、RTU、TCP、UDP)和数据类型,可以在 Windows、Linux 和基于 ARM 的设备(如 Raspberry Pi)上运行。:串口名称,适用于 Modbus ASCII 或 Modbus RTU 协议。:起始寄存器地址(范围 1-65536,默认值为 1)。的安装和使用方法,用于调试和测试 Modbus 设备。:读取的寄存器数量(范围 1-125,默认值为 1)。
2024-11-22 14:54:18
1460
原创 Minimalist GNU for Windows
(Minimalist GNU for Windows)是一组 GNU 工具,专门用于在 Windows 平台上编译 C、C++ 和 Fortran 等语言的代码。如果是手动安装的 MinGW(未使用安装程序),可以直接删除 MinGW 安装文件夹。也可以在 macOS 和 Linux 上安装,用于交叉编译 Windows 可执行文件。MinGW-w64 提供了一些 Windows 专有的库,可以使用。无论在哪个系统上,卸载完成后,可以通过以下命令检查。例如,要生成一个简单的动态链接库,可以创建。
2024-11-02 15:48:47
1673
原创 Go-Sqlite3学习
go-sqlite3是 Go 语言中用于操作 SQLite 数据库的第三方驱动库。SQLite 是一种轻量级、嵌入式的关系型数据库,适用于小型应用和嵌入式开发场景,而go-sqlite3库让我们能够在 Go 项目中轻松使用 SQLite 数据库。下面是go-sqlite3。
2024-11-01 18:39:52
779
原创 Wails 学习笔记:Wails核心思想理解
是 Wails 框架的核心启动函数,负责初始化应用、加载前端资源、配置窗口、并管理前后端通信。通过,开发者可以灵活配置应用的行为,如窗口属性、前端入口文件、绑定的后端函数等。不仅启动了整个应用程序,还提供了一个平台,使得现代前端技术和高效的 Go 后端能够无缝集成,从而实现高性能的桌面应用开发。
2024-10-15 15:31:57
1638
原创 Go Wails 学习笔记:创建第一个项目
Wails 通过结合前端技术和 Go 后端,提供了一个高效的方式来开发跨平台的桌面应用。其简单的项目初始化和清晰的结构使得开发者能够快速上手。通过 Wails,可以充分利用 Web 开发技能,同时获得原生桌面应用的优势。
2024-10-14 17:16:49
1976
原创 GO如何将信息打包进二进制文件并在运行时显示
首先,在你的 Go 程序中定义几个全局变量,这些变量将存储版本号、构建时间和 Git 提交哈希。import ("fmt""os"var (Version string // 版本号BuildTime string // 构建时间GitCommit string // Git 提交哈希// 检查命令行参数是否包含 "details"// 打印版本信息} else {// 执行默认操作")在这个程序中,定义了VersionBuildTime和GitCommit。
2024-10-12 16:45:00
866
原创 Go Gin 框架与 HTML 模板学习笔记
Gin是 Go 语言中常用的高性能轻量级 HTTP Web 框架,适合快速开发 RESTful API 和 Web 应用。Gin 支持 HTML 模板渲染,基于 Go 标准库,提供了安全、高效的模板功能。本文主要介绍如何在Gin中使用 HTML 模板。Gin允许你为模板注册自定义函数,来格式化或处理数据。"upper": strings.ToUpper, // 注册自定义函数})在模板中使用自定义函数:
2024-10-09 18:18:27
969
2
原创 GoJsonQ 学习与使用指南
是一个用于在 Go 语言中查询和处理 JSON 数据的轻量级库。它提供了类似于 SQL 的查询功能,使得对复杂的 JSON 数据进行过滤、排序、分组等操作变得更加简便。
2024-10-09 11:02:44
1052
原创 GO GOPS学习
它能够显示 Go 进程的详细信息,包括堆栈跟踪、内存统计信息、Go 版本等,并提供了一些实用的诊断命令。这个命令会显示该进程的所有 goroutine 的堆栈跟踪,这对于调试死锁或理解程序的执行流程非常有用。替换为你想要查看的进程的进程ID。这将显示该进程的详细信息,包括内存使用情况、CPU 使用率、启动命令等。这个命令会以树状结构展示所有 Go 进程及其相互关系,帮助你理解进程之间的父子关系。这个命令会显示系统中所有正在运行的 Go 进程的简要信息。这个命令会显示指定进程的内存分配和垃圾回收统计信息。
2024-10-08 17:37:02
1248
原创 Go 性能剖析工具 pprof 与 Graphviz 教程
在 Golang 开发中,性能分析是确保应用高效运行的重要环节。本文介绍如何使用在 Gin 应用中集成性能剖析工具,并结合Graphviz生成图形化的性能分析结果,如火焰图。这套流程帮助开发者更好地理解和优化 Go 应用的性能。
2024-10-08 15:39:43
1485
原创 GO Message Bus
消息总线是一种解耦的设计模式,适用于分布式系统和事件驱动架构。Go 中可以通过使用channels和goroutines实现自定义的消息总线,也可以使用go-micro等库来实现更复杂的分布式消息总线功能。消息总线的典型应用包括:微服务通信、事件驱动架构、异步任务执行等。
2024-09-26 18:13:21
1123
原创 GO Godotenv
godotenv是一个非常简单、轻量级的包,用于加载和解析.env文件,并将其中的内容导入环境变量。使用.env文件可以轻松管理项目的配置信息,并支持不同的环境配置(如开发、测试、生产)。了解如何加载.env文件、指定路径、加载多个文件以及将环境变量写入.env文件等操作,可以帮助你更好地管理和使用环境变量。
2024-09-26 18:10:04
756
原创 GO Serial 学习与使用
是一个 Go 包,提供了一种简单的方式来与串口进行交互。在打开、读取和写入串口时,请确保适当地处理错误,如示例所示。您还可以配置超时,并在需要时使用该包进行异步通信。这应该为您在 Go 应用程序中使用。包提供了一个坚实的基础!
2024-09-25 11:14:58
741
原创 Go Sonyflake学习与使用
Sonyflake 的时间戳精度是 10ms,如果在同一个 10ms 内生成的 ID 数量超过了序列号的最大值(16-bit,最多 65536 个 ID),它就会进入等待状态,直到时间前进。:如果系统时间出现了倒退(例如通过手动设置时间或者 NTP 时间同步导致时钟回调),Sonyflake 会出现时间不一致的问题,无法生成新 ID。:由于生成的 ID 是递增的,它们可以很自然地用于数据库的主键,这有助于提升数据库插入和查询效率。检查程序的内存使用情况,确保在生成大量 ID 时,内存分配是足够的。
2024-09-24 14:23:36
839
原创 Go conc库学习与使用
是一个简化 Go 并发编程的高效工具库。它提供了比标准库更简洁、更功能丰富的 API,能够更好地处理 Goroutines 的错误、结果以及并发数量控制。同时,它还集成了context,适合处理超时和取消任务的场景。设计简单且安全,但在使用过程中,开发者仍需注意 Goroutines 常见的并发问题。常见的panic情况包括任务中的运行时错误、重复调用Wait()context超时、以及不安全的并发访问。通过正确的任务管理、错误处理和同步机制,可以有效避免这些问题。
2024-09-24 14:22:13
924
原创 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
1269
原创 Go大小端理解
有时我们需要检测当前系统是使用大端序还是小端序。我们可以通过这些表示将整数、浮点数等类型转换为字节序列或从字节序列解析出数值。(Endianness)是指多字节数据在内存中或在网络传输时的字节排列方式,通常用于处理。在网络编程中,通常使用大端序(网络字节序)来传输多字节数值。在 Go 语言中,通过。在 Go 语言中,大小端问题与数据的字节顺序有关。包提供了用于处理大小端的工具,它定义了。
2024-09-22 18:45:31
1207
原创 Paho-Mqtt库的使用
MQTT 支持持久化会话,即当客户端断开连接后,代理可以保留它的订阅和 QoS 1 或 2 消息。在重新连接时,客户端可以接收在离线期间发布的消息。来设置自动重连,确保在网络故障后客户端自动尝试重新连接。方法中,你可以指定不同的 QoS 级别。
2024-09-21 23:37:30
1825
原创 Kafka-Go学习
是 Go 语言中用于与 Kafka 进行通信的一个简洁高效的库,提供了生产者、消费者、分区管理、偏移量管理等完整的功能。它的 API 设计简单易用,同时具有较高的性能和扩展性,适合在 Go 应用中集成 Kafka 消息队列。是 Go 语言中一个轻量级、高效的 Kafka 客户端库,提供了简单易用的 API 来与 Apache Kafka 进行交互。支持 Kafka 的生产者和消费者功能,适用于 Go 应用程序中使用 Kafka 进行消息队列的实现。生产者的作用是向 Kafka 的主题中发送消息。
2024-09-21 23:32:35
1201
原创 Go Testify学习与使用
是一个强大的 Go 语言单元测试库,它提供了丰富的断言功能、mock 机制和测试套件管理工具,使得编写测试更加容易和规范。方法设置了预期的输入和输出。当测试中调用这个方法时,它返回的值将是我们事先定义的“Mocked Data”。库,可以模拟依赖关系中的方法或接口,帮助测试代码中的外部依赖(如数据库、API 调用等)。的断言模块简化了验证测试结果的过程,提供了许多常用的断言方法。模块,允许将多个相关的测试组织成一个测试套件,并提供了。是 Go 语言中一个常用的单元测试库,它为标准的。
2024-09-20 23:01:40
1289
原创 GO Cron&Gin
`robfig/cron` 是 Go 中一个常用的定时任务库,提供了类似于 Unix cron 表达式的调度功能。可以使用它来执行定时任务,例如每天备份数据库、定期发送报告等
2024-09-19 17:20:59
1231
原创 uber-go/zap & sirupsen/logrus
使用Zap如果你需要最高的性能,且应用的高吞吐量对结构化日志和最小化开销有严格要求。使用 Logrus 如果你更注重易用性和灵活性,应用的性能不是首要考虑因素,或者需要与各种日志后端轻松集成。
2024-09-19 17:13:09
1255
原创 Oracle 数据库部署与实施
Oracle 官方支持在 Linux 上部署数据库,主要在 Oracle Linux、Red Hat Enterprise Linux (RHEL)、CentOS 等发行版上。以上是针对 macOS、Linux、Windows 以及 Docker 上部署 Oracle 数据库的基本步骤。Oracle 不直接支持在 macOS 上安装 Oracle 数据库,但是你可以使用虚拟机或者 Docker 进行部署。Oracle 提供了官方的 Oracle Database Docker 镜像,可以在。
2024-09-18 17:32:20
1505
2
原创 GO GORM & JSON
GORM 是一个在 Go 语言中广泛使用的 ORM(对象关系映射)库,提供了对数据库的操作和管理,使得开发者可以更方便地进行数据库操作。GORM 支持主流的数据库,如 MySQL、PostgreSQL、SQLite 和 SQL Server。将 GORM 与 JSON 结合使用,可以方便地在 Web 应用中处理数据。例如,使用 GORM 从数据库中查询数据并将其转换为 JSON 格式返回给客户端,或者从客户端接收 JSON 数据并保存到数据库中
2024-09-18 16:42:20
2032
原创 GO JWT DEMO
是一种基于令牌的认证方法,在客户端生成一个加密的令牌来存储用户信息,并在每次请求时将该令牌发送给服务器进行验证。JWT 的广泛应用场景包括用户认证、授权、信息交换等。JWT 提供了一种简单而强大的方式来处理用户认证和授权,但需要小心处理安全细节,确保系统的安全性。JWT 由三部分组成,每部分使用点 (以下是如何在 Go 中使用。
2024-09-18 16:28:26
1051
原创 Gin Session
是一个强大的会话管理中间件,支持多种存储后端,可以在 Web 应用中方便地实现用户会话管理、数据持久化等功能。通过合理使用会话,可以提高应用的用户体验和安全性。
2024-09-17 15:36:51
754
原创 GO GIN & SSE DEMO
将GIN项目与SSE库结合,写一个简单的demo,具备正常的API接口和流处理接口,实现了两种类型的 Server-Sent Events (SSE) 流,以及一个简单的用户管理接口。这样做可以让每个文件更专注于自己的任务,保持代码清晰整洁,有利于团队合作和代码维护。文件保持不变,用于处理用户相关的接口。文件会引入所有的路由注册函数,包括。文件只处理时间流的 SSE 接口。文件只处理数字流的 SSE 接口。
2024-09-17 14:41:11
2228
电网储能关键名词和解释
2024-08-14
framwork7设计手机端滚动条问题
2016-07-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人