golang
已收录文章:511篇
-
答案:在CentOS7上通过源码编译安装Golang需先安装gcc等开发工具,再下载Go源码包解压至/usr/local,运行all.bash脚本编译,随后配置GOROOT、GOPATH和PATH环境变量并使其生效,最后通过goversion验证安装成功。199 收藏
-
container/list实现双向链表,支持高效插入删除,适用于LRU缓存;container/heap通过接口实现堆操作,常用于优先队列,如按优先级处理任务。208 收藏
-
答案是通过设计Hub集中管理连接,使用读写分离和非阻塞发送,实现高效稳定的WebSocket广播。Hub用map和channel管理客户端,避免并发冲突;每个客户端独立读写goroutine,防止相互阻塞;广播时通过select+default非阻塞发送,及时清理失效连接,提升性能。493 收藏
-
安装Go后配置环境变量,创建工作区并设置GOPATH,推荐启用GoModules管理依赖,通过goversion和goenv验证安装与配置。175 收藏
-
使用指针表示可选值是Go语言常见做法,因指针可为nil,能自然表达“值不存在”语义。在结构体中,将字段设为指针类型(如int)可实现可选字段,例如typeUserstruct{Namestring;Ageint},Age为nil时表示未设置。通过取地址&age赋值,可创建可选值,亦可封装Int(vint)int等工具函数简化操作。访问时需先判空,避免panic,如ifuser.Age!=nil{fmt.Println(user.Age)},并可结合默认值处理。在JSON序列化中,nil指针对应null,反186 收藏
-
在Linux上安装Golang首选包管理器方式,如Ubuntu/Debian用apt、Fedora用dnf、CentOS/RHEL用yum、Arch用pacman、OpenSUSE用zypper,命令简洁且自动配置环境;2.若需最新版或多版本共存,则推荐手动下载官方二进制包并解压至/usr/local或用户目录,再配置PATH环境变量;3.频繁切换版本时可使用goenv工具,类似nvm管理Node版本,支持全局或项目级版本控制;4.安装后运行goversion验证,包管理器安装便捷但版本较旧,手动或goe254 收藏