参考资料

  1. docker安装教程详细说明以及案例
  2. Scratch 是 MIT 媒体实验室开发的图形化编程语言
  3. Mageia 是一个基于 Linux 的操作系统
  4. DPanel 是一个轻量级的 Web 面板工具
  5. Groovy 是一种基于 JVM 的动态编程语言
  6. alt 是一个轻量级的代理工具,支持多种协议(如 HTTP、SOCKS5),用于网络请求的转发和代理
  7. Clojure 是一种运行在 JVM 上的 Lisp 方言
  8. Docker Swarm 是 Docker 原生的集群管理工具

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

    • 原因:循环依赖。

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