golang
已收录文章:30篇
-
Go中指针存储变量地址,通过定义指针类型,&获取变量地址,new(T)分配并返回T类型零值的指针,示例展示指针的声明、赋值及通过操作目标变量,强调安全性与简洁性。346 收藏
-
使用len()函数可获取Golang中切片或数组的长度,适用于数组、切片、字符串等类型;切片调用len()返回元素个数,如[]int{1,2,3,4,5}结果为5,空切片为0;数组为固定长度,len()返回定义时的容量,未初始化元素不影响长度,如[3]int和[5]string{"a","b","c"}分别输出3和5;常用于判断是否为空,若len(slice)==0则为空;注意nil切片和空切片的len()均为0,需通过slice==nil判断是否为nil;len()是安全高效的标准做法。464 收藏
-
goget结合gomod实现Go依赖管理,通过gomodinit初始化模块,goget添加依赖并自动更新go.mod和go.sum,支持指定版本、分支或commit,用gomodtidy清理未使用依赖,可查看、验证依赖及配置私有仓库认证,确保可重复构建。342 收藏
-
通过独立安装目录和环境变量控制实现Go多版本管理。1.将不同Go版本解压至独立路径如/usr/local/go1.19和/usr/local/go1.21;2.在shell配置文件中创建gvm函数切换GOROOT和PATH;3.Windows可通过批处理脚本修改GOROOT和PATH;4.每次切换后运行goversion验证。确保路径无残留,即可稳定切换。197 收藏
-
答案:context.WithCancel通过创建可取消的Context实现循环中断,调用cancel()函数通知所有监听goroutine退出,配合select监听ctx.Done()实现优雅终止。339 收藏
-
使用errors.New可创建简单错误,适用于固定描述场景;如除零错误返回"errors.New(divisionbyzero)";需动态信息时用fmt.Errorf格式化输出;通过==比较判断自定义错误类型,如varErrNotFound=errors.New("resourcenotfound")用于精准错误处理。115 收藏