参考资料

  1. CentOS是一个基于 Red Hat Enterprise Linux(RHEL)源代码构建的开源 Linux 发行版
  2. Traefik 是一个现代化的反向代理和负载均衡工具
  3. Pony 是一个高性能、并发安全的编程语言,专为构建高并发系统设计
  4. Ruby是一种开源的、面向对象的动态编程语言
  5. Kapacitor是InfluxData开发的开源数据处理引擎
  6. Cloudreve基于 Web 的云存储管理平台
  7. Aerospike 是一个高性能、分布式 NoSQL 数据库
  8. EulerOS 是华为推出的企业级 Linux 操作系统

Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言

Golang 简介

Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言,设计目标是高效、简洁和可靠。它于 2009 年正式发布,适用于构建高性能、可扩展的后端服务、云原生应用和分布式系统。

特点

  1. 简洁语法:类似 C 的语法,但去掉冗余设计(如类继承、构造函数等)。

  2. 并发模型:基于 goroutine 和 channel 的轻量级并发。

  3. 垃圾回收:自动内存管理。

  4. 跨平台编译:支持生成多种操作系统和架构的二进制文件。

  5. 标准库强大:内置 HTTP、JSON、加密等常用功能。

  6. 快速编译:编译速度显著快于 C++/Java。

最新更新内容及时间

  • Go 1.21(2023 年 8 月发布):

    • 新增 slicesmaps 标准库包。

    • 优化泛型性能。

    • 改进 GC 和编译器。

    • 支持 WASM 的 wasip1 目标。

镜像下载地址

官网地址

https://golang.org

文档地址

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

常用错误及解决

  1. undefined: function

    • 原因:函数未定义或未导入包。

    • 解决:检查拼写或导入正确的包。

  2. cannot find package

    • 原因:依赖未下载或 GOPATH 设置错误。

    • 解决:运行 go mod download 或设置 GO111MODULE=on

  3. panic: runtime error

    • 原因:空指针引用或越界访问。

    • 解决:检查 nil 值和切片/数组边界。

  4. fatal error: concurrent map writes

    • 原因:并发写 map。

    • 解决:使用 sync.Mutexsync.Map

  5. import cycle not allowed

    • 原因:循环依赖。

    • 解决:重构代码,提取公共部分到新包。