01 2025 档案

摘要:目录反射的核心概念反射的常见操作示例代码1. 获取变量的类型和值2. 通过反射修改变量的值3. 操作结构体4. 动态调用函数反射的注意事项总结 Go 语言中的反射(Reflection)是一种在运行时检查类型信息和操作变量的机制。通过反射,程序可以动态地获取变量的类型、值、结构体字段、方法等信息,甚 阅读全文
posted @ 2025-01-27 09:57 guanyubo 阅读(8) 评论(0) 推荐(0) 编辑
摘要:目录1. reflect.TypeOf()2. reflect.ValueOf()3. reflect.Value.Elem()4. reflect.Value.Set()5. reflect.Value.Interface()6. reflect.Value.Kind()7. reflect.Va 阅读全文
posted @ 2025-01-27 09:56 guanyubo 阅读(48) 评论(0) 推荐(0) 编辑
摘要:目录reflect.Valuereflect.Value 的作用reflect.Value 的创建reflect.Value 的常用方法1. 获取值的类型2. 获取值的底层类型3. 获取实际值4. 检查值是否有效5. 检查值是否可设置6. 设置值7. 解引用指针8. 操作结构体9. 动态调用函数10 阅读全文
posted @ 2025-01-27 09:54 guanyubo 阅读(10) 评论(0) 推荐(0) 编辑
摘要:目录1. 创建Context1.1 context.Background()1.2 context.TODO()2. 派生Context2.1 context.WithCancel()2.2 context.WithTimeout()2.3 context.WithDeadline()2.4 con 阅读全文
posted @ 2025-01-26 09:54 guanyubo 阅读(44) 评论(0) 推荐(0) 编辑
摘要:目录关键点:示例代码代码说明:可能的输出:总结: 在 Go 的 select 语句中,如果多个 case 同时满足条件,Go 会随机选择一个执行,而其他满足条件的 case 不会被执行。也就是说,select 语句只会执行一个 case,其余的 case 会被忽略。 关键点: select 的执行机 阅读全文
posted @ 2025-01-24 13:17 guanyubo 阅读(15) 评论(0) 推荐(0) 编辑
摘要:目录示例代码代码说明:输出:关键点:注意事项: 在 Go 中,如果从一个已关闭的 channel 读取数据,会立即返回该 channel 元素类型的零值,并且不会阻塞。对于 select 语句来说,如果 c.ExitBuffChan 被关闭了,那么 case <-c.ExitBuffChan 会立即 阅读全文
posted @ 2025-01-24 13:16 guanyubo 阅读(14) 评论(0) 推荐(0) 编辑
摘要:目录1. 安装 logrus2. 基本用法输出示例3. 日志级别设置日志级别记录不同级别的日志4. 添加字段输出示例5. 自定义日志格式输出示例6. 使用钩子(Hooks)输出示例7. 日志输出到文件8. 使用日志实例9. 日志轮转安装 lumberjack使用 lumberjack10. 性能优化 阅读全文
posted @ 2025-01-22 16:07 guanyubo 阅读(30) 评论(0) 推荐(0) 编辑
摘要:目录1. 接口的本质2. 测试的重点3. 接口的测试场景4. 是否需要为接口编写测试用例?5. 总结 在 Go 语言中,接口本身不需要编写测试用例,因为接口只是一个抽象的定义,它没有具体的实现逻辑。接口的测试重点在于测试实现了该接口的具体类型(即结构体或其他类型)是否正确地实现了接口定义的方法。 以 阅读全文
posted @ 2025-01-21 17:18 guanyubo 阅读(7) 评论(0) 推荐(0) 编辑
摘要:目录单元测试可测试接口面向接口 单元测试 一个代码质量和工程质量有保证的项目一定有比较合理的单元测试覆盖率,没有单元测试的项目一定是不合格的或者不重要的,单元测试应该是所有项目都必须有的代码,每一个单元测试都表示一个可能发生的情况,单元测试就是业务逻辑。 可测试 写代码并不是一件多困难的事情,不过想 阅读全文
posted @ 2025-01-21 16:10 guanyubo 阅读(8) 评论(0) 推荐(0) 编辑
摘要:目录GoMonkey单元测试框架安装基本使用1. 为函数打桩ApplyFuncApplyFuncReturn2. 为公共成员方法打桩ApplyMethodApplyMethodReturn3. 为私有成员方法打桩ApplyPrivateMethod注意事项示例 GoMonkey单元测试框架 GoMo 阅读全文
posted @ 2025-01-17 10:45 guanyubo 阅读(65) 评论(0) 推荐(0) 编辑
摘要:目录工具链差异环境配置差异实际使用中的差异 ‌在Windows和Linux下使用Golang中的cgo功能时,主要区别在于所需的C/C++构建工具链和编译环境配置。‌ 工具链差异 ‌Linux‌:在Linux系统上,使用cgo特性需要安装GCC编译器。GCC是Linux系统上常用的C/C++编译器, 阅读全文
posted @ 2025-01-15 17:46 guanyubo 阅读(44) 评论(0) 推荐(0) 编辑
摘要:目录1. 文件描述符限制2. 端口耗尽3. 内存消耗4. CPU 和其他资源5. 内核参数调整总结 单台机器能够建立的TCP连接个数受到多种因素的影响,包括操作系统配置、硬件资源(如内存和CPU)、应用程序逻辑以及网络环境等。以下是影响TCP连接数量的主要因素及其优化建议: 1. 文件描述符限制 每 阅读全文
posted @ 2025-01-13 17:11 guanyubo 阅读(103) 评论(0) 推荐(0) 编辑
摘要:目录1. 工作池模式(Worker Pool Pattern)2. 扇出扇入模式(Fan-Out Fan-In Pattern)3. 管道模式(Pipeline Pattern)4. 使用上下文(Context)进行取消操作5. 错误组模式(ErrGroup Pattern) 1. 工作池模式(Wo 阅读全文
posted @ 2025-01-10 08:19 guanyubo 阅读(23) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示