Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言
2025-05-16
2
参考资料
Golang 简介
Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言,设计目标是高效、简洁和可靠。它于 2009 年正式发布,适用于构建高性能、可扩展的后端服务、云原生应用和分布式系统。
特点
简洁语法:类似 C 的语法,但去掉冗余设计(如类继承、构造函数等)。
并发模型:基于 goroutine 和 channel 的轻量级并发。
垃圾回收:自动内存管理。
跨平台编译:支持生成多种操作系统和架构的二进制文件。
标准库强大:内置 HTTP、JSON、加密等常用功能。
快速编译:编译速度显著快于 C++/Java。
最新更新内容及时间
Go 1.21(2023 年 8 月发布):
新增
slices
和maps
标准库包。优化泛型性能。
改进 GC 和编译器。
支持 WASM 的
wasip1
目标。
镜像下载地址
国内镜像:
官网地址
文档地址
Docker 安装示例
# 使用官方 Golang 镜像 FROM golang:1.21-alpine # 设置工作目录 WORKDIR /app # 复制代码并编译 COPY . . RUN go build -o main . # 运行程序 CMD ["/app/main"]
YAML 配置示例(如用于 CI/CD)
# .gitlab-ci.yml 示例 build: image: golang:1.21 script: - go build -o myapp - ./myapp
常用错误及解决
undefined: function
原因:函数未定义或未导入包。
解决:检查拼写或导入正确的包。
cannot find package
原因:依赖未下载或 GOPATH 设置错误。
解决:运行
go mod download
或设置GO111MODULE=on
。panic: runtime error
原因:空指针引用或越界访问。
解决:检查 nil 值和切片/数组边界。
fatal error: concurrent map writes
原因:并发写 map。
解决:使用
sync.Mutex
或sync.Map
。import cycle not allowed
原因:循环依赖。
解决:重构代码,提取公共部分到新包。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。