
golang
文章平均质量分 73
草海桐
这个作者很懒,什么都没留下…
展开
-
Golang的Goroutine(协程)与runtime
runtime 包提供了与 Go 运行时环境交互的功能,包括 goroutine 调度、内存管理、堆栈操作等。通过 runtime 包,我们可以更好地控制程序的运行行为。Goroutine是Golang语言中的并行编程核心,具有轻量级、高效和灵活的特点。通过合理利用Goroutine,可以显著提高程序的性能和响应速度。在实际应用中,需要注意避免竞态条件,合理分配任务,并通过Channel等方式实现Goroutine之间的安全通信。Runtime与Routine的关系在Go语言中,runtime和。原创 2025-04-05 23:01:09 · 1229 阅读 · 0 评论 -
golang 的github.com/dgrijalva/jwt-go包
除了标准的声明,用户可以自定义声明来携带更多的信息。例如,添加用户ID、权限等。通过以上示例,可以实现一个功能完善的JWT中间件,用于保护Gin框架下的API端点。该中间件能够高效验证JWT令牌,确保只有合法用户能够访问受保护的资源。同时,通过灵活的配置和自定义声明,可以满足不同的业务需求。此外,结合Gin框架的高性能特性,该中间件能够在高并发场景下稳定运行,保障应用的安全性和可靠性。包为Go语言提供了一个功能强大且易用的JWT实现。通过它,开发者可以轻松地生成和验证JWT,满足各种身份验证和授权需求。原创 2025-04-04 00:44:32 · 607 阅读 · 1 评论 -
golang 的encoding/json包
有时候,默认的序列化和反序列化方式无法满足需求,这时可以通过实现和方法来自定义行为。// 自定义 MarshalJSON 方法}{})p := P3{// 编码// 处理错误// 输出: {"Name":"jon","Address":{"state":"beijing"}}结构体通过自定义方法,将Name字段序列化为state字段。str = str[1 : len(str)-1] // 去除双引号if err!原创 2025-04-04 00:27:52 · 926 阅读 · 0 评论 -
golang 的channel
关于golang的channel的简单介绍。原创 2025-04-01 18:26:37 · 653 阅读 · 0 评论 -
golang的database.sql包和事务处理
事务是数据库操作中的一个逻辑单元,由一系列的数据库操作组成。这一系列操作要么全部执行并且提交,要么全部回滚,确保数据的一致性和完整性。预处理语句是指在数据库中提前编译和优化的SQL语句模板,可以在之后多次重复使用。在这个示例中,预处理语句一次创建,多次执行,提升了效率,并降低了SQL注入的风险。原创 2025-03-30 22:13:31 · 1083 阅读 · 0 评论 -
golang 的reflect包的常用方法
p := Person{Name: "小明", Age: 22}原创 2025-03-30 21:56:28 · 247 阅读 · 0 评论 -
golang 的time包的常用方法
time.Time。原创 2025-03-30 21:50:10 · 409 阅读 · 0 评论 -
golang 的strconv包常用方法
【代码】golang 的strconv包常用方法。原创 2025-03-30 21:44:52 · 656 阅读 · 0 评论 -
golang 的io与os包中的常用方法
io.ReadAll用于从Reader接口读取所有数据并返回一个字节切片。os.Open打开一个文件用于读取。如果操作成功,则返回一个指向File的指针;如果失败,则返回错误。更通用的打开文件的方式,允许指定标志(如只读、读写等)和权限模式。os.Create创建一个新文件用于写入,如果文件已存在则会被截断。向文件写入字符串,并返回写入的字节数。原创 2025-03-30 21:34:33 · 532 阅读 · 0 评论 -
golang 日志log与logrus
log特性loglogrus日志级别有限(Fatal、Error)多级别(Debug~Panic)格式化输出支持支持(Text/JSON)日志轮转不支持支持(需配合 lumberjack)钩子机制不支持支持输出目标标准输出/文件多种(文件、网络等)社区和扩展性内置库第三方库,社区丰富。原创 2025-03-30 15:42:16 · 864 阅读 · 0 评论 -
golang sync 同步与锁
syncMutex:互斥锁,用于保护临界区,防止多个goroutine同时访问共享资源。RWMutex:读写互斥锁,允许多个读者同时访问共享资源,而写者必须独占。WaitGroup:用于等待一组goroutine完成。Cond:条件变量,用于在goroutine之间协调事件发生的顺序。Map:一个并发安全的map,适合频繁的读写场景。Pool:对象池,用于管理一组可重用的对象,减少内存分配和垃圾回收的开销。Go语言通过sync。原创 2025-03-30 15:30:38 · 1124 阅读 · 0 评论 -
golang strings包常用方法
【代码】golang strings包常用方法。原创 2025-03-30 21:37:12 · 374 阅读 · 0 评论