Go 语言学习笔记
1. 引言
Go 语言是由 Google 开发的一种静态类型、编译型的系统编程语言。它以简洁、高效和易于理解著称,并且支持并发编程。
2. 安装与环境配置
2.1 安装 Go
- 访问 Go 官方网站 下载适合你操作系统的安装包。
- 安装完成后,设置
GOPATH
和GOROOT
环境变量:GOROOT
是 Go 的安装路径。GOPATH
用于指定 Go 工作空间的位置,默认情况下可以忽略,使用 Go 1.8 之后的版本管理机制go modules
。
2.2 验证安装
-
打开终端或命令行工具,运行以下命令来检查 Go 版本:
shgo version
3. 基础语法
3.1 变量声明
-
使用
var
关键字声明变量:govar x int = 10
-
使用简短声明
:=
:goy := "Hello, World!"
3.2 函数定义
-
函数使用
func
关键字定义:gofunc add(a int, b int) int { return a + b }
3.3 控制流语句
-
if
语句:goif x > 0 { fmt.Println("Positive") } else { fmt.Println("Negative or Zero") }
-
for
循环:gofor i := 0; i < 5; i++ { fmt.Println(i) }
4. 核心特性
4.1 并发编程
-
使用 goroutines 实现轻量级线程:
gogo func() { fmt.Println("Hello from goroutine") }()
-
使用 channels 进行 goroutine 之间的通信:
goch := make(chan string) go func() { ch <- "Hello from channel" }() fmt.Println(<-ch)
4.2 接口
-
接口定义行为:
gotype Speaker interface { Speak() string }
-
实现接口:
gotype Dog struct{} func (d Dog) Speak() string { return "Woof!" }
5. 工具与实践
5.1 包管理
-
使用
go mod
初始化模块:shgo mod init example.com/myproject
-
添加依赖:
shgo get github.com/some/package
5.2 测试
-
编写测试文件(如
mypackage_test.go
):gopackage mypackage_test import ( "testing" "example.com/mypackage" ) func TestAdd(t *testing.T) { result := mypackage.Add(2, 3) if result != 5 { t.Errorf("Expected 5, got %d", result) } }
-
运行测试:
shgo test
5.3 性能分析
-
使用
pprof
分析性能瓶颈:shgo tool pprof http://localhost:6060/debug/pprof/profile
6. 结论
Go 语言提供了一种简单而强大的方式来构建高性能的应用程序。
我要开始学Golang了