Skip to content

Go 语言简介

Go 的历史

Go 语言(也称为 Golang)是由 Google 在 2007 年开始设计,2009 年正式发布的开源编程语言。Go 语言的设计者是 Robert Griesemer、Rob Pike 和 Ken Thompson,他们都是计算机科学领域的知名专家。

Go 语言的诞生是为了解决当时软件开发中的一些问题:

  • 编译速度慢
  • 依赖管理复杂
  • 并发编程困难
  • 代码可读性差

Go 的特点

1. 简洁高效

  • 语法简洁,易于学习和使用
  • 编译速度快,适合大型项目
  • 执行效率高,接近 C 语言

2. 并发支持

  • 内置 Goroutine 和 Channel
  • 轻松实现高并发程序
  • 基于 CSP(通信顺序进程)模型

3. 垃圾回收

  • 自动内存管理
  • 低延迟的垃圾回收器
  • 减少内存泄漏风险

4. 静态类型

  • 编译时类型检查
  • 减少运行时错误
  • 提高代码质量

5. 丰富的标准库

  • 网络编程
  • 文件处理
  • 加密解密
  • 等等

安装和环境配置

安装 Go

macOS

使用 Homebrew 安装:

bash
brew install go

Linux

下载并解压:

bash
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

Windows

Go 官网 下载安装包并安装。

环境变量配置

安装完成后,需要配置以下环境变量:

bash
export GOROOT=/usr/local/go      # Go 安装目录
export GOPATH=$HOME/go            # 工作空间目录
export PATH=$PATH:$GOROOT/bin     # 将 Go 添加到 PATH

验证安装

运行以下命令验证安装:

bash
go version

如果显示版本号,说明安装成功。

工作空间结构

Go 项目通常遵循以下结构:

workspace/
├── bin/          # 可执行文件
├── pkg/          # 编译后的包文件
└── src/          # 源代码
    └── hello/
        └── main.go

第一个 Go 程序

让我们创建一个经典的 "Hello, World!" 程序:

go
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

代码说明

  1. package main: 声明这是一个可执行程序的主包
  2. import "fmt": 导入 fmt 包,用于格式化输出
  3. func main(): 程序的入口函数
  4. fmt.Println(): 打印一行文本

运行程序

保存为 hello.go,然后运行:

bash
go run hello.go

或者先编译再运行:

bash
go build hello.go
./hello

使用 Go Modules(推荐)

现代 Go 项目使用 Go Modules 管理依赖:

bash
go mod init hello
go run hello.go

这会创建 go.mod 文件,用于管理项目依赖。

开发工具推荐

IDE 和编辑器

  • VS Code: 安装 Go 扩展
  • GoLand: JetBrains 出品的专业 Go IDE
  • Vim/Neovim: 配合 vim-go 插件

常用命令

  • go run: 编译并运行程序
  • go build: 编译程序
  • go test: 运行测试
  • go fmt: 格式化代码
  • go get: 下载依赖
  • go mod: 模块管理

针对不同语言背景的开发者

如果你已经有其他编程语言的经验,可以查看针对性的学习指南:

这些指南会帮助你:

  • 利用已有知识快速上手
  • 理解 Go 与熟悉语言的差异
  • 找到共同点,加速学习
  • 避免常见陷阱

下一步

现在你已经了解了 Go 语言的基本情况,接下来我们将学习:

基于 VitePress 构建