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 goLinux
下载并解压:
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.gzWindows
从 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!")
}代码说明
- package main: 声明这是一个可执行程序的主包
- import "fmt": 导入 fmt 包,用于格式化输出
- func main(): 程序的入口函数
- 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: 模块管理
针对不同语言背景的开发者
如果你已经有其他编程语言的经验,可以查看针对性的学习指南:
- 前端开发者指南 - 如果你熟悉 JavaScript/TypeScript
- Node.js 开发者指南 - 如果你熟悉 Node.js 和服务器端开发
- Java 开发者指南 - 如果你熟悉 Java 和企业级开发
- Python 开发者指南 - 如果你熟悉 Python 和脚本编程
- PHP 开发者指南 - 如果你熟悉 PHP 和 Web 开发
这些指南会帮助你:
- 利用已有知识快速上手
- 理解 Go 与熟悉语言的差异
- 找到共同点,加速学习
- 避免常见陷阱
下一步
现在你已经了解了 Go 语言的基本情况,接下来我们将学习:
