前言

这里只是简单介绍Go语言以及写一个go语言的测试程序


一、Go 语言简介

Go(又称 Golang)是由 Google 开发的开源编程语言,于 2009 年正式发布。它结合了现代语言的开发效率和系统级语言的性能,特别适合构建高并发、分布式系统

核心特性:

  • 高效编译:静态编译成单一可执行文件,无外部依赖
  • 内置并发:goroutine 轻量级线程 + channel 通信机制
  • 内存安全:自动垃圾回收(GC)机制
  • 简洁语法:无类/继承,通过接口实现多态
  • 标准库强大:覆盖网络、加密、压缩等常用功能
  • 跨平台支持:Windows/Linux/macOS/ARM 等

应用场景:

  • 云原生应用(Docker/Kubernetes 均用 Go 开发)
  • 微服务和高并发后端服务
  • 命令行工具(如 Terraform)
  • 网络服务器和代理
  • 区块链应用开发

二、Windows 平台环境配置

1. 安装 Go

  1. 访问 Go 官网
  2. 下载 Windows 安装包(如 go1.21.0.windows-amd64.msi
  3. 双击运行安装程序,使用默认设置(安装到 C:\Go

2. 配置环境变量

安装程序会自动设置:

  • GOROOT:Go 安装目录(C:\Go
  • PATH:添加 C:\Go\bin

验证安装:

1
2
> go version

3. 配置工作空间(可选)

  1. 创建项目目录(如 D:\go-projects
  2. 设置 GOPATH:
1
> setx GOPATH "D:\go-projects"
  1. 在目录内创建子文件夹:
    • src:源代码
    • bin:可执行文件
    • pkg:编译包

4. 配置代理(加速依赖下载)

1
2
> go env -w GO111MODULE=on
> go env -w GOPROXY=https://goproxy.cn,direct

三、第一个 Go 程序

1. 创建程序文件

  1. 新建文件 hello.go(路径随意)
  2. 输入以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package main  // 声明主包

import (
"fmt" // 导入格式化I/O包
"time" // 导入时间包
)

func main() {
// 打印欢迎信息
fmt.Println("=== Go语言初体验 ===")

// 获取当前时间
now := time.Now()
fmt.Printf("当前时间: %s\n", now.Format("2006-01-02 15:04:05"))

// 并发示例
go printNumbers() // 启动goroutine

// 主程序等待
time.Sleep(1 * time.Second)
fmt.Println("\n程序结束!")
}

func printNumbers() {
for i := 1; i <= 5; i++ {
fmt.Printf("%d ", i)
time.Sleep(200 * time.Millisecond)
}
}

2. 运行程序

1
> go run hello.go

输出结果

1
2
3
4
=== Go语言初体验 ===
当前时间: 2023-08-15 14:30:22
1 2 3 4 5
程序结束!

3. 编译可执行文件

1
2
> go build hello.go
> .\hello.exe

四、开发环境建议

1. IDE 推荐

  • VS Code:轻量级 + Go 扩展
    1. 安装 VS Code
    2. 添加 Go 扩展:搜索安装 golang.go
  • GoLand:专业 IDE(付费)

2. 常用命令

命令 功能
go run 直接运行程序
go build 编译可执行文件
go test 运行单元测试
go get 下载依赖包
go fmt 格式化代码

五、总结

Go 语言核心优势:

性能卓越:编译型语言,执行效率接近 C/C++
并发模型:goroutine 比线程轻量 100 倍
部署简单:生成单一可执行文件,无运行时依赖
开发高效:简洁语法 + 自动格式化 + 丰富工具链

Windows 开发体验:

  • 安装便捷:MSI 安装包一键配置
  • 开发友好:VS Code 提供完整 Go 支持
  • 跨平台编译:可在 Windows 编译 Linux 程序
    1
    2
    3
    > set GOOS=linux
    > set GOARCH=amd64
    > go build hello.go