golang专题下共有 14271 篇文章
-
- Golang常量指针怎么定义?
- Go不允许对常量取地址,因为常量是编译期字面值,不占用内存空间,只有变量才有地址。例如,&42会报错:invalidoperation:cannottaketheaddressof42。要实现“指向常量”的效果,可将常量值赋给变量,再取该变量地址。如:constMaxRetries=3;value:=MaxRetries;ptr:=&value。也可通过函数返回指向常量副本的指针。Go不支持常量指针语法(如const*int),因指针是运行时概念。实际中建议用var声明变量替代const,若需只读语义,可
- Golang· Go教程 | 8个月 | golang 变量 指针 常量 取地址 210浏览 收藏
-
- Golang反射与interface断言深入解析
- 答案:Golang中反射与接口类型断言结合,用于运行时动态探查和操作未知类型数据。通过reflect.ValueOf()和reflect.TypeOf()解析interface{},获取类型和值信息,利用Kind、Field、MethodByName等方法进行动态操作,并可通过Interface()转回interface{}后使用类型断言还原具体类型。常见于序列化、ORM等通用框架中,处理编译时未知的类型。需注意性能开销、CanSet判断、无效值检查及类型断言panic风险,应优先用类型断言,必要时封装反
- Golang· Go教程 | 7个月 | golang 接口 反射 类型断言 运行时 210浏览 收藏
-
- GolangJSON处理:结构体标签与序列化方法
- Golang处理JSON数据的关键在于使用encoding/json包并通过结构体标签控制序列化与反序列化行为。首先,定义与JSON结构对应的Go结构体,并在字段上使用json:"name"标签指定JSON字段名,如typeUserstruct{IDintjson:"id"};通过omitempty选项可使空值字段在序列化时被忽略,例如Emailstringjson:"email,omitempty";时间字段需符合RFC3339格式,默认使用time.Time类型。将JSON反序列化
- Golang· Go教程 | 7个月 | golang JSON 序列化 encoding/json 结构体标签 210浏览 收藏
-
- Golangassert断言使用教程
- 答案:Go语言中通过引入testify/assert库可提升测试代码的可读性和效率。首先使用gogetgithub.com/stretchr/testify/assert安装库,然后在测试文件中导入该包。接着可使用其提供的丰富断言方法进行更直观的测试验证。例如,assert.Equal(t,5,result)用于判断两个值是否相等,相比原生t.Error更简洁;assert.Error(t,err)可检测是否返回错误,并结合assert.Contains(t,err.Error(),"invalidinp
- Golang· Go教程 | 2个月 | golang 断言 210浏览 收藏
-
- Golang协程调度优化全攻略
- Go的goroutine调度基于GMP模型,通过限制并发数、避免阻塞P、使用sync.Pool复用对象,可有效提升性能。1.GMP模型中P默认等于CPU核心数,调度器采用work-stealing减少竞争;2.过多goroutine导致调度开销增加,应使用带缓冲channel控制并发,如sem:=make(chanstruct{},100);3.阻塞操作会使M脱离P,影响调度效率,需用context超时或非阻塞I/O避免;4.高频分配对象加重GC压力,可用sync.Pool复用内存,降低分配开销。合理控制
- Golang· Go教程 | 1个月 | golang 210浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 339次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 205次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 168次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 129次学习

