golang专题下共有 99 篇文章
-
- Golang如何定义全局变量?超易懂教程来了!
- 在Golang中设置全局变量需在函数外部声明,命名建议使用驼峰并首字母大写以控制访问权限,初始化可在声明时或init函数中完成,为避免耦合应减少使用或采用单例、依赖注入等方式。1.全局变量必须在函数外声明,如varGlobalVariableint=10;2.命名遵循驼峰法,首字母大写表示可导出;3.初始化可在声明赋值或通过init函数实现;4.使用时应谨慎,可通过减少全局变量、使用单例模式、配置管理及依赖注入等方式降低耦合度,提升代码可维护性。
- Golang· Go教程 | 3天 | golang 初始化 全局变量 声明 命名规范 143浏览 收藏
-
- Golang多线程报错怎么查?racedetector排查指南
- Golang多线程竞争问题可通过内置的racedetector排查,它通过编译时插入监控代码检测运行时数据竞争。使用方法是在gobuild/run/test命令后加-race参数,如gorun-racemain.go。其原理是记录内存访问元数据并检查Happens-Before关系,输出包括类型、地址、goroutineID、位置及堆栈信息。避免数据竞争的方法有:1.使用sync.Mutex互斥锁;2.使用sync.RWMutex读写锁;3.使用atomic包进行原子操作;4.通过channel传递数据而
- Golang· Go教程 | 1天 | golang Goroutine 数据竞争 并发 racedetector 143浏览 收藏
-
- Golang二进制数据操作与字节处理技巧解析
- Golang的encoding/binary包配合切片可用于高效处理二进制数据。1.使用binary.BigEndian或binary.LittleEndian实现字节序转换,通过binary.Write和binary.Read指定字节序进行写入与读取;2.处理变长数据时,先写入/读取长度字段,再操作实际数据;3.用struct定义二进制结构时,结合固定大小的byte数组和binary.LittleEndian或binary.BigEndian完成数据序列化与反序列化,并注意对字符串截断处理空字节。
- Golang· Go教程 | 5天 | golang struct encoding/binary 字节序 二进制数据 132浏览 收藏
-
- Go语言实战篇:手把手教你用Golang连接MySQL数据库
- Golang连接MySQL需使用database/sql包及驱动。1.安装推荐的MySQL驱动github.com/go-sql-driver/mysql;2.通过sql.Open创建连接池并用db.Ping测试连接;3.查询时使用rows.Scan读取数据并确保关闭rows;4.更新操作使用db.Exec获取受影响行数;5.合理配置连接池参数如最大连接数和空闲数;6.使用预编译语句防止SQL注入;7.事务处理通过db.Begin开启,tx.Commit提交或tx.Rollback回滚以保证一致性。
- Golang· Go教程 | 2天 | golang mysql 连接池 事务 database/sql 114浏览 收藏
-
- 手把手教你用Golang玩转JSON数据,超详细教程来了!
- Golang处理JSON数据的核心在于使用encoding/json包。1.编码(Marshal)通过json.Marshal函数将Go结构体转换为JSON字符串,字段标签指定键名;2.解码(Unmarshal)通过json.Unmarshal函数将JSON字符串转为结构体,需传入结构体指针;3.处理数组时使用切片进行编解码;4.未知结构可用map[string]interface{}接收,但需注意类型断言;5.优化性能可通过json.Decoder/Encoder处理流式数据、减少内存分配、避免inte
- Golang· Go教程 | 4天 | golang JSON unmarshal encoding/json Marshal 113浏览 收藏
-
- Go语言实现JWT令牌无效?手把手教你快速定位&解决
- Golang中JWT验证失败的解决方法包括:1.确保生成和验证时密钥一致,建议使用环境变量或配置文件存储;2.确认签名算法一致,如HS256、RS256等;3.检查JWT是否过期,通过比较当前时间与exp声明;4.验证claims中的用户信息是否符合预期;5.处理时钟偏差,设置允许的时间差;6.使用最新版本的JWT库以避免安全漏洞;7.完善错误处理机制,区分不同错误类型并采取对应措施。JWT有效期选择需权衡安全性与用户体验,短期(5-30分钟)更安全但需频繁刷新,中等(1-24小时)较平衡,长期(几天以上
- Golang· Go教程 | 3天 | golang jwt 113浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 473次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习